.gitignore 파일이란?
깃허브에 올라가면 안되는 파일(private key 파일 등)의 경우 .gitignore파일에 포함시켜야한다.
.gitignore파일의 경우 프로젝트 디렉토리 최상단에 위치해야한다.
.gitignore 파일이 적용되지 않을 때
문제
ec2환경에 배포하기 전 ec2 인스턴스의 ssh 키페어 파일(.pem)을 프로젝트 폴더에 추가했다. .pem 파일을 프로젝트 경로 최상단에 복사 후 .gitignore파일에 .pem확장자로 끝나는 모든 파일을 의미하는 *.pem을 추가하고 github에 push했는데, .gitignore파일이 적용되지 않고 key가 담겨있는 .pem 파일이 그대로 노출된 것이다.
해결
이 문제는 github의 캐시가 문제였다. 그래서 git에 있는 모든 캐시 파일을 지우고 다시 add, commit, push 하는 과정을 거쳤다.
git rm -r --cached .
git add .
git commit -m "remove cached"
그리고 깃허브에 들어가서 확인해보니 .gitignore파일만 존재하고 .pem 파일은 보이지 않는 것을 확인할 수 있었다.