Next 개발일지 2

.env를 github에 넣어버렸다!

.gitignore 파일에 분명히 .env가 있는것을 확인하고 push 했다고 생각했지만 … 확인해보니 github에 기록이 남아있게되었다! 이유를 찾아보니 파일을 생성하기 전 이미 git에 .next를 올렸기 때문에 적용이 되지 않는 것이라고.. 아마 env 를 무시하였으니 그 이유가 아니었을까 다시 한번 더 조심하자고 느꼈다.

[참고사이트1]https://letsgojieun.tistory.com/113

그래서 지금 개발하는 사이트는 api 키와 시크릿 키를 쓰기에 일단 github를 private 처리한뒤에 여러가지 해결 방식을 찾아보았다.

이력 제거 방식 1 필터링 방식

.env파일을 잘못 올린경우 새로운 commit을 올리더라도 commit 히스토리에 남는 것을 지우기 위해서는 전체 히스토리에서 필터링해 제거할 수 있다는 것을 찾게 되었다.

1
$ git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch .env' --prune-empty -- --all

[깃 공식문서 ]https://git-scm.com/docs/git-filter-branch

주의) 로컬 저장소에서도 필터링 되기 때문에 삭제된다.

하지만 벌써 vercel에 공식 배포도 완료해 버려서 수정하려니 계속 컴플릭트가 나서 reset이나 다른 방식으로 해결 방식을 찾고 있다. 엄청 삽질중…

다른 필터링 방식

[참고 사이트 2]https://daily-dev-tips.com/posts/removing-a-env-file-from-git-history/

이 사이트에서는 좀 더 체계적으로 commit 이력을 삭제하는 방법을 알려주었지만 역시 컴플릭트 문제를 먼저 해결해야만 하는 것일까. 일단 deploy 상태인 것을 정지 시키고 새롭게 짜는게 더 빠를지도 모르겠다.. 원본 파일은 있으니 그게 더 빠를 것같기도 하지만 혹시 실제로 이렇게 될 경우를 아주 조금이지만 대비하는 측면에서 조금만 더 살펴보도록 하자

반드시 commit 시 파일 이름 다시 체크할 것!