Git

[Git] 특정 파일의 히스토리 삭제

📝 작성 : 2022.12.31  ⏱ 수정 : 

java_pid**.hprof파일의 용량때문에 push를 하다 오류가 났습니다.

찾아보니 깃허브는 50MB보다 큰 파일을 추가, 업데이트 하는 경우 알림을 받고 100MB보다 큰 파일은 차단하고있었습니다. 이 경우 Git LFS(Git Large File Storage)를 사용하라고 나와있습니다.

 

깃허브 용량

 

하지만 해당 파일이 OutOfMemoryError때문에 발생한다는 것만 알지 정확하게 무슨 내용을 포함하는지 몰라서 일단은 해당 파일의 히스토리를 모두 제거하기로 했습니다.

 

filter-branch을 사용하여 해당 파일의 히스토리를 삭제할 수 있습니다.

저는 모든 hprof확장자의 파일을 삭제하려했기 때문에 아래와 같은 명령어를 통해서 해당 파일의 히스토리를 모두 삭제했습니다.

git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch *.hprof' \
--prune-empty --tag-name-filter cat -- --all

filter-branch를 사용하니 filter-repo를 권장하는 알림이 나왔지만 나중에 좀 더 알아보기로 하고 그냥 진행했습니다.

 

github doc

filter-repo

반응형

'Git' 카테고리의 다른 글

[Git] gitignore 적용 안될 때  (0) 2020.07.18
[Git] commit 날짜 변경  (0) 2020.07.07