Spring Boot 프로젝트에서 application.properties
정보는 Github 등에 노출 될 경우 위험할 수 있다.
이번에 인지하고 .gitignore
에 새롭게 등록하여 로컬 단에서만 사용하려고 변경 하던 중,
.gitignore
에 추가해도 Tracking되며 여전히 추적되고 있어 이를 해결한 과정을 남긴다.
기존 .gitignore
에서 변경 관리를 추적하지 않기로 설정한 후,
새롭게 .gitignore
에 목록을 추가하게 될 경우
이미 변경 관리에 의해 관리되고 있는 파일은 .gitignore
에 등록하더라도,
계속해서 추적 될 수 있다.
이를 위해선 변경관리가 추적하고 있는 캐시를 삭제 한 후,
새로 커밋 해주면 변경관리가 gitignore
를 재적용 할 수 있다.
git rm -r --cached .
다음 명령어를 살펴보자.
git rm -r --cached .
git rm filename
명령어는 원격 저장소
와 로컬 저장소
의 staging area
에서 파일을 내리면서 실제 파일도 삭제한다.
--cached
옵션은 원격저장소
에 잘못된 파일을 올렸을 때 주로 사용하는 옵션으로,
원격저장소
의 파일을 삭제하고, staging area
에서 파일을 내리기 위해 사용한다.
지금 상황은 전체 프로젝트 파일을 변경할 필요는 없고,
application.properties
를 원격 저장소에서 내리고,
변경 관리가 추적하지 않도록 .gitignore
를 새롭게 반영해야 하므로,
아래 처럼 작업하면 된다.
먼저 application.properties
의 기존 내용을 다른 곳에 옮겨두고,
아래 명령어를 사용하여 application.properties
만 원격 저장소에서 내려주면,
git rm -r --cached application.properties주소
원격 저장소에서 파일을 내리게 되고,
로컬 저장소에서도 삭제된 상태이다.
이제 다시 application.properties
를 원래 위치에 새로 생성하여 내용 까지 복구해도,
변경관리에 의해 추적되지 않아.gitignore
적용된 상태로 정상적으로 사용할 수 있다.
감사합니다