반응형
팀프로젝트를 하면서 실수로 .env 파일을 올려버렸다.
.gitignore에 포함 된건 .env.local만 되있어서 실수를 하게 되었다.
그런데 조사하다보니 .gitignore에 .env를 추가해도 가끔 .env가 올라가는 경우가 있다고 한다.
결과적으론 고쳤지만 자세히 알아보다니 만약 제대로 포함 했어도
업로드하는데 문제 생길 수 있겠구나 싶어 좀 더 자세히 알아보았다.
1. 깃 명령어로 .env 삭제 후 푸시
git rm .env --cached
git add .
git commit -m "remove .env file from git"
git push
env 관련 캐쉬 등 파일들을 삭제하고 푸시한다. 하지만 난 해결이 안되서 2번으로 넘어갔다
2. .env git history로 과거 기록들 삭제
git filter-branch --force --index-filter "git rm --cached --ignore-unmatch .env" --prune-empty --tag-name-filter cat -- --all
해당 파일을 삭제 한 후
git push origin --force --all
포스 푸시하면 된다.
주의) 로컬 저장소에서도 필터링 되기 때문에 삭제한다. 미리 다른 이름으로 보관해두고 실행시키는게 좋겠다.
3. Github 페이지에서 파일 바로 삭제
2번까지 진행해서 log에선 삭제된게 확인됐는데 페이지에선 확인이 안되서 결국 페이지에서 만지면서 해결했다.
이미 파일을 삭제해서 .prettierrc을 예시로 보여주겠다.
해결하며 느낀 점
왜 이 방법을 다 알게 됐는지는.. 순서대로 하면서..
마지막으로 커밋체인지를 안해서 한참을 헤맨.... 누군가...
혼자 작업하는거면 상관 없는데 깃 특성상 모두가 같이 보는 곳이라
혹시 문제가 생길까하면서 조사를 더 하게되고 긴장하면서 했다.
1번에 적힌 방법들이 조금 조금씩 달라서 뭐가 정확한걸까 고민했다.
이번에 느낀건 .env 푸시 조심! 해결방법으로 아무 코드나 복붙도 조심!!
반응형
'Git hub' 카테고리의 다른 글
[Git] 기본적인 git 명령어 정리 (0) | 2023.11.29 |
---|---|
[Git] 자기 컴퓨터(Local) 폴더 리포지토리(Github)에 연결하기 (0) | 2023.10.19 |