SW 개발

[git] git 에서 파일을 완전삭제 (히스토리까지..) 완전삭제

. . . 2019. 8. 21. 13:45
반응형

git 에서 파일을 완전삭제 (히스토리까지..) 완전삭제하는 방법

해당명령이 필요한이유는 ...

  1. github 는 용량제한으로 대용량파일업로드 불가 (LFS 의경우 일정 용량만 무료)
  2. 때문에, 파일을 삭제후에 업로드하려고했으나... history / cache 에 데이터 남아있어서 여전히 업로드 불가
  3. history cache 등 모든 데이터 삭제후에 업로드. 성공

git 에서의 완전삭제 명령어

다음의 명령어를 통해서 삭제한다.

git filter-branch --index-filter "git rm -rf --cached --ignore-unmatch bringup" HEAD
git push origin --force --all

히스토리에서도 완전히 삭제된다. 즉, git 명령어를 통해서 해당 파일은 되살릴수없다.

git rm 명령어와의 차이

git rm 명령어를 사용할 경우, head 쪽에는 삭제된것 처럼 보이지만 history? 부분에는 살아있다.

즉, 되살릴수있기 때문에 git repo 의 사이즈는 줄어들지 않는다.

  • github 쪽에 테스트해본결과 큰 용량의 파일을 git rm 으로 파일을 삭제해도 object 크기 오류로 인해 업로드가 안된다. (100M 이상은 LFS 로 해야함)
  • 아무래도 git 의 head 쪽만 삭제하기 때문에 완전삭제와는 거리가 먼것 같음.

만약 해도안되면..

만약 위의 방법으로 안된다면.. 다른 방법을 사용한다.

반응형