머신러닝과 기술적 분석

git history에서 파일을 삭제하는 방법 본문

Git

git history에서 파일을 삭제하는 방법

BetterToday 2017. 8. 27. 20:41
728x90

git history상에서 특정 파일을 삭제하고 싶을 때가 있다. 그 때 사용할 수 있는 방법에는 2가지가 있다.

1. Head commit 에서 특정 file을 삭제하는 방법

git rm --cached giant_file     # Stage our giant file for removal, but leave it on disk
  • 현재의 head 에서 특정 파일만을 untracking 하는 방법이다. 이 때는 지정한 파일이 git staging area에서 삭제되면서 로컬 컴퓨터에는 남게 된다.
  • 다만 history 전체에서 지금까지 commit 한 특정파일의 이력은 모두 보관된다.
  • IDE의 프로젝트 설정파일등 지금부터는 untracking 하고 싶은 파일이 있을 때 사용하는 방식이다.

2. Git history 전체에서 특정 file을 모두 삭제하는 방법

git filter-branch -f --tree-filter "rm -f giant_file" HEAD
  • 이번에는 지금까지의 history 에서 특정 file의 commit 이력을 모두 찾아서 삭제하는 방법이다.
  • 실수로 large file, 보안상 중요한 file 등을 commit 한 경우 사용하는 방식이다.
728x90
반응형
Comments