[GitHub] How to upload large files : 대용량 파일 업로드하기 : lfs 이용하기 깃허브 큰 파일 업로드

0

GITHUB

목록 보기
1/9
post-thumbnail

현재 진행중인 NAW Project에 관련 베이스자료들 또한 github에 push해서 공유한다면
추후 시간이 지나도 베이스 자료들도 함께 볼 수 있기때문에 긍정적으로 생각했다.

그래서 .zip(.png +.xlxs) 파일을 업로드 하려고 하니 그 과정에서 파일 크기가 25MB를 초과하여 push 할 때마다 에러가 발생했다. 일단 github에 파일을 올릴 때 50MB 이상의 파일은 warning, 100MB 이상의 파일은 error가 뜬다.

🌐여기서 찾은 해결방법 !

[1] git-lfs 이용하기

대용량 바이너리 파일을 관리하기 위해서 github에서 만든 것으로,
lfs는 Large File Storage를 의미한다.
github 홈페이지에서는 다음과 같이 git-lfs에 대해 설명하고 있다

: 대용량 파일을 Git 내부의 텍스트 포인터로 대체하고,
파일들을 원격 서버에 저장함을 설명.


[1-2] git-lfs 사용법

1) 아래 명령어를 입력해 먼저 lfs를 설치한다.

git lfs install


2) git-lfs의 설치가 완료되면, 다음 명령어를 이용해 용량이 큰 파일들을 관리대상으로 지정해준다.

git lfs track "파일명"

❓ 현재 디렉토리 내부의 모든 파일들을 한꺼번에 지정하고 싶을 땐 ❓

git lfs track *

⚜️ 다만, 디렉토리 안에 폴더가 있는 경우 !

해당 폴더 안의 파일까진 관리대상으로 설정되지 않으니 파일이 있는 경로까지 같이 넣어줘야 한다. '현재 위치/reference/KIDS.zip' (폴더등록도 기필요)

git lfs track reference/KIDS.zip

3) 대용량 파일들을 관리대상으로 설정이 끝났다면, commit을 하고, github에 push하면 된다.

혹시~라도 에러가 뜬다면 아마 이전의 commit 기록이 남으면 발생할 수 있다.
그럴 경우 BFG Repo-Cleaner를 사용하면 된다 !


[2] BFG Repo-Cleaner 이용하기

BFG Repo-Cleaner은 크거나 문제가 많은 blob을 제거해주고, 속도를 더 빠르게 도와준다고 한다.

1) 파일 다운로드

먼저, https://rtyley.github.io/bfg-repo-cleaner/ 로 가서 .jar 파일을 다운로드 받아 명령어를 실행할 위치에 넣어준다. 파일 다운로드 버튼은 해당 홈페이지 아래쪽에 있다.

2) 다운로드 받은 파일 실행하기

java -jar bfg-1.14.0.jar --strip-blobs-bigger-than 100M
코드 복사 시 bfg 파일 버전을 주의하기 바란다. 자신이 다운 받은 파일 버전을 확인하고 입력하자.

3) 실행이 완료되면 다시 commit과 push를 진행해준다.

여기까지가 내가 문제를 해결한 방법들이며,
추가로 하나 더 적자면 github에 파일을 올리는 명령문 순서는 다음과 같다.
(추가 작업이 필요한 경우 중간에 다른 명령어가 포함될 수 있다.)

git pull 	 // github repository에 있는 파일 로드하기
git add * 	// 변경 파일 추가
git commit -m "커밋내용"	// commit 하기
git push -u origin main		// main branch에 push 하기
다음 블로그 글은 순서가 바뀐 듯 하지만 github 실행 방법에 대해 적어봐야겠다.
profile
𝐁𝐚𝐜𝐤-𝐞𝐧𝐝 𝐃𝐞𝐯𝐞𝐥𝐨𝐩𝐞𝐫 (𝐒𝐖)

0개의 댓글