[react] 사라지는 파일 .env 의 미스테리

0

환경변수 이를 저장하는 파일 .env

해당 파일에는 github 같은 public 웹사이트에 노출시키면 안되는 API 키등을 저장하는 곳으로 루트폴더(최상위폴더)에 저장을 해놓아야하고 gitignore 파일에 git이 추척하지 못하게 반드시 기록해놓아야한다. git에 올라가면 큰일남, 남이 막 악용 할 수 있음.

해당 파일을 나도 역시 만들고 저장한 후 모든것이 잘 작동해서 커밋하고 다른 브랜치로 넘어가서 작업을하다가 다시 .env를 만들어놓은 브랜치로 왔을 때 .env 파일이 사라지는 현상을 꽤 많이 경험을 하였다. 슬프지만 아직도 이유는 모르겠다. 그럴때마다 파일을 다시 만들고 다른 브랜치로 갔다가 돌아오면 또 사라져있고....계속 반복.. 누가 이유를 아시면 알려주시면 좋겠다. 누군가 알려주시길이라는 바람으로 제목도 어그로? 있게 쓴 것이라...

.env 파일이 일단 github에 올라가면 안되는 것은 확실하지만, 실수로 gitignore에 추가를 안하면 올라가게 되어있다. 여기서부터 문제는 이제 로컬에서 .env파일을 삭제 한 후에 푸시를 해도 github에 저장된 .env 파일은 삭제가 안되고 그대로 남아있는 것이 가장 큰 문제다.

다만 이 부분에서 배운 것이 git에서 github에 올라간 파일의 캐쉬를 삭제하는 방법.

이미 원하지 않는 파일이 git의 추적을 당하고 있는 상황이라면.....
1. 먼저 gitignore 파일에 원하는 파일이 기록되어 있는지 확인하고 (이건 지우면 안됨)
2. git의 추적을 피하고 싶은 파일을 삭제한다.
3. 터미널에서 git rm --cached <해당파일명>
4. 그리고 다시 해당 파일을 생성한다. 필요한 코드도 넣으시고~
5. 그 다음 커밋 및 푸시를 하면 github에 있는 파일은 사라진다.

gitignore에 파일이 기록되지 않은 상테에서 파일을 생성한 후에 커밋을 하고 gitignore에 파일을 등록하면 이미 커밋 시점에서 git이 파일을 추적하기 때문에, github에 올라가게 되니 순서를 헷갈리지말고 커밋은 나중에 하자.

profile
내가 기억하려고 작성 중인 블로그

0개의 댓글