[개발] 지식/Git
.gitignore 적용 안될때
하하미아
2017. 11. 20. 16:36
Git으로 형상관리를 하다보면 (실수로라도) 트래킹 되지 않아야 하는 파일이 올라가는 경우가 있다. Git은 트래킹하고 있는 파일은 .gitignore에 추가하더라도 무시하지 않고, 계속 트래킹을 합니다. 이것 때문에 종종 오해가 생기곤 한다.
1. git repository의 .gitignore 수정 ex) *.class
2. 아래 명령어 실행
2 3 | $ git rm -r --cached . $ git add . $ git commit -m "fixed untracked files” |
--cached : Staging Area에서만 제거하고 워킹 디렉토리에 있는 파일은 지우지 않고 남겨둘 수 있다. 다시 말해서 하드디스크에 있는 파일은 그대로 두고 Git만 추적하지 않게 한다. 이것은 .gitignore
파일에 추가하는 것을 빼먹었거나 대용량 로그 파일이나 컴파일된 파일인 .a
파일 같은 것을 실수로 추가했을 때 쓴다. --cached
옵션을 사용하여 명령을 실행한다.
-r : A leading directory name (e.g. dir
to remove dir/file1
and dir/file2
) can be given to remove all files in the directory, and recursively all sub-directories, but this requires the -r
option to be explicitly given.
-> 한마디로 sub디렉토리 다 지워라