git 이미 커밋된 파일 추적 중지/시작하기
다들 한번씩 .gitignore 파일에 제외를 깜빡하고 push를 한적이 있을것이다.
이럴경우 어떻게 어떻게 하면되는지에대해서 알아보자.
어이쿠.. push를 해버렸네? 제외해보자!
나같은경우 아래와 같이 .idea/workspace.xml
이 따라다니고 있다.
이유는 이미 origin
에 파일자체를 push
를 해버려서 .gitignore
파일에 .idea/*
를 명시에 주었지만 소용이 없다.
현재 브랜치 master
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.
커밋할 변경 사항:
(use "git restore --staged <file>..." to unstage)
삭제함: .idea/workspace.xml
추적 중지
추적하지 않을 파일을 아래와 같이 명시해주면 이미 origin에 올라간 파일이라도 더이상 추적을 하지 않게된다.
git update-index --assume-unchanged .idea/workspace.xml
git update-index
명령은 작업트리의 색인과 관련된 명령어로 (추가,제거,새로고침 등) 다양한 옵션을 제공한다.
자세한 정보는 https://git-scm.com/docs/git-update-index 에서 참고 바란다.
추적중지 명령어를 입력하고 나서 git status
실행해보았다
➜ github_blog git:(master) git status
현재 브랜치 master
브랜치가 'origin/master'에 맞게 업데이트된 상태입니다.
커밋할 사항 없음, 작업 폴더 깨끗함
추적 재개
추적을 재개하고싶을때도 앞에 --no
를 추가적으로 붙여주면 다시 추적을 재개한다.
git update-index --no-assume-unchanged [file]
추가 꿀팁
unchanged
로 등록된 파일을 보고 싶으면 아래와 같이 명령어로 살펴볼수도 있다.
여기서 자세히 보면 소문자 h
가 우리가 위에서 등록된 그 파일이다.
git ls-files -v| grep ^h
이렇게 명령해두 된다!
➜ github_blog git:(master) ✗ git ls-files -v
H .idea/vcs.xml
h .idea/workspace.xml
H Gemfile
H Gemfile.lock
H README.md
사실 별건아니지만 나처럼 이미 Push를 해버려 계속 추적되어 골치인 사람에게 필요한 사람에 도움이 됬으면 좋겠다.
코로나 조심하시구 다음 포스팅때 또 만나요!