GitHub large 파일로 푸시가 안될때
2018. 5. 4. 12:29ㆍDevelopment/[Dev] 개발일반
728x90
100mb 등의 큰 파일로 인해 로컬 커밋은 되나
리모트 저장소로 푸시가 안되는 경우는 다음 2가지 정도의 방법으로 해결이 가능하다.
1. 용량이 큰파일을 커밋 캐시에서 삭제하여 커밋을 하지않도록 클린(?)하게 만들고 푸시한다.
2. 애초에 큰 파일을 .gitignore 파일에 명시하여 처음부터 로컬에서부터 커밋하지 않는다.
(2번의 경우는 .gitignore 파일에 미리 명시하여 우선적으로 이 파일만 커밋, 리모트에 푸시합니다)
[ 1번 상세 ]
1번의 경우 gitignore 파일조차 푸시하여 리모트로 올릴 수가 없는 상태이기 때문에 파일 제외는 캐시에서 삭제 후 푸시하는 수밖에 없다.
따라서 해당 로컬 저장소의 .git 디렉토리가 있는 최상위로 이동하여 다음 명령어로 캐시를 클린한다
$ git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch 캐시삭제할 용량큰 파일명' HEAD
이어서
변경 사항 반영 하고 다시 푸시 하면 끝
$ git commit --amend -CHEAD
$ git push
자세한 사항은
https://help.github.com/articles/removing-files-from-a-repository-s-history/
https://stackoverflow.com/a/23657759 참조~
728x90
반응형
'Development > [Dev] 개발일반' 카테고리의 다른 글
Flume 설치 및 기본 설정, sink 테스트 - logger sink (0) | 2020.04.20 |
---|---|
모바일앱의 필수개념, 프로세스와 쓰레드 (0) | 2020.04.16 |
Xcode의 유용한 단축키 (0) | 2020.02.28 |
[블록체인] 블록체인 관련 오픈소스, 예제, 샘플 사이트 소개합니다. (2) | 2018.07.05 |
Java(Android), Objective-C, Swift(iOS), Python 문법비교 (0) | 2018.05.18 |