Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 사이킷런
- 파이토치기본
- 자연어분석
- OpenAIAPI
- sklearn
- langchain
- fastapi
- NLP
- 딥러닝
- 파이썬
- fastapi #python웹개발
- 판다스
- Python
- 파이썬웹개발
- 비지도학습
- 랭체인
- python 정렬
- 파이토치
- pandas
- fastapi #파이썬웹개발
- MachineLearning
- deeplearning
- 판다스 데이터정렬
- HTML
- konlpy
- chatGPT
- pytorch
- 챗gpt
- programmablesearchengine
- 머신러닝
Archives
- Today
- Total
Data Navigator
github에 실수로 100mb 이상 파일을 push 후 reset, revert 해도 push 안되는 문제 해결법 본문
git_github
github에 실수로 100mb 이상 파일을 push 후 reset, revert 해도 push 안되는 문제 해결법
코딩하고분석하는돌스 2024. 4. 1. 22:59github에 실수로 100mb 이상 파일을 push 후
reset, revert 해도 push 안되는 문제 해결법
1. 문제 상황
작업을 하다가 보면 가끔 github에 100mb 이상되는 파일을 포함시켜 commit 하고 원격저장소에 push했다가 용량문제로 push가 되지 않고 오류가 날 때가 있다.
github에 강제로 push해보지만 용량 초과로 push 실패
이 상황에서는 git reset . 을 해도 로컬 저장소의 object 디렉토리에 이미 파일이 올라가 있어서 아무리 예전으로 되돌려도 push 할때 다시 원격저장소에 push가 자동으로 된다는 점이다.
심지어 원본 디렉토리에서 대용량 파일을 완전히 삭제후 다시 git add -> git commit 을 해도 push 단계에서 다시 나온다.
2. 해결책: git filter-branch 명령어를 통해 수동 삭제
위의 문제를 해결하는 방법은 git filter-branch를 이용해 문제가 되는 대용량 파일을 삭제하는 것이다.
아래의 명령어를 이용해 삭제하면 되고 <file>로 된 부분에 문제가 되는 파일명을 적어주면 된다.
작은 따옴표 있는 부분에 주의하자.
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch <file>' --prune-empty
위의 문제를 해결하는 코드를 적어보면 아래와 같다.
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch 타베로그top20전체가게페이지목록20230410.pkl' --prune-empty
그러면 위와 같이 파일을 찾아 삭제한다.
삭제해야 할 파일이 2개 이상이면 한 번 실행 후 두번째 실행시에는 명령어 마지막에 -f 옵션으로 강제실행 해주어야 한다.
git filter-branch --index-filter 'git rm -r --cached --ignore-unmatch <file>' --prune-empty -f
문제가 되는 파일 삭제후 다시 git add, git commit, git push -u origin main --force 순서로 실행하면 정상적으로 원격저장소에 push된다.
'git_github' 카테고리의 다른 글
github push 할 때 access denied가 나올 때 해결방법 windows (0) | 2024.03.06 |
---|