git에서 특정 파일 관리/추적 그만하는 방법
안녕하세요. 이번 포스팅에선..
git에서 특정 파일의 추척(tracking)을 그만하는 방법에 대해 알아보겠습니다.
제 경우를 말씀드리면..
.gitignore를 사용하기 전에 git add로 포함되었던 apk와 같은 output 파일들을 더 이상 관리하고 싶지 않았습니다.
용량도 많은 편이며.. 중간중간 커밋을 만들 때마다 다른 apk가 생성되어서 쓸모없이 관리가 되고 있었습니다.
제가 git에 대해 잘은 모르겠으나 .gitignore에서 무시할 파일/폴더를 명시하기 전에 git add로 포함된 파일/폴더는 이후에 .gitignore에 넣어도 무시가 안되는 것 같습니다. 그래서 아래의 방법이 필요합니다.
(참고: http://www.codeblocq.com/2016/01/Untrack-files-already-added-to-git-repository-based-on-gitignore/)
1. 시작 전에 .gitignore을 포함한 모든 수정 사항을 commit 하기
2. 아래의 명령어 입력하기
git rm -r --cached .
rm은 remove를 의미함
-r을 recursive의 약자로 모든 하위 폴더 포함을 의미함
--cached 명령어는 index repository에 있는 파일 삭제를 하기 위해 사용함
. 모든 파일/폴더를 의미
3. 2번의 명령어를 수행하면.. 모든 파일이 untrack되어 깜짝 놀랐습니다. 놀라지 말고 아래의 명령어를 입력합니다.
git add .
4. 3번 명령어 입력 후에 git status로 확인해보면 우리가 원하던 파일만 deleted로 표시된 것을 볼 수 있습니다.
git commit -m ".gitignore fix"
이제 원하는대로 됐으니 다시 commit을 생성합시다~
댓글 영역