.gitignore파일에 .class파일들을 무시하도록 ' *.class ' 을 추가했으나 git이 계속해서 해당 파일을 track하고 있다.
이미 버전 관리에 포함되어 있는 파일들을 .gitignore 파일에 기록한다고 해서 Git이 알아서 버전관리에서 제외하지는 않는다. 즉 Git이 계속해서 해당 파일을 track하고 있다는 것이다.
git rm –r –cache *.class 를 터미널에 쓴다.
.gitignore 파일이란?
Git 버전 관리에서 제외할 파일 목록을 지정하는 파일이다.
예를 들면, 프로젝트 설정파일, 자동으로 생성되는 로그파일(e. .log), 빌드할 때 생기는 컴파일된 파일(ex, .class) 있다. 따라서 이런 관리할 필요가 없는 파일들을 git이 track하지 않도록 .gitignore을 설정하는 것이다.
로컬 저장소에서 .class 파일들을 모두 지우고 원격저장소에 push를 해도 됩니다.
git rm –r –cache 와의 차이점은 로컬에 *.class파일이 있냐없냐의 차이!!
.class파일이 수정되면 git stages에는 잡히게 되는 것 맞는것 같습니다. 그러나 push를 해도 원격저장소에는 반영이 안됩니다. 고로 bin폴더에 있는것까지 올려도 됩니다.