programing

git ignore.env 파일이 작동하지 않습니다.

abcjava 2023. 7. 10. 21:57
반응형

git ignore.env 파일이 작동하지 않습니다.

저는 대규모 프로젝트가 있습니다.루트 디렉터리에는 다음 4개의 파일이 있습니다.

.env.env.vmdk.env.local.env.vmdk

저는 .gitignore 파일을 가지고 있고, 이 4개의 파일을 .gitignore에 차례로 나열하고 있습니다.

.env
.env.example
.env.local
.env.staging

mygit 저장소에는 .env 또는 .env.example이 포함되어 있지 않지만 .env.local 및 .env.staging이 포함되어 있습니다.제가 생각할 수 있는 모든 것을 시도했지만, 이 두 파일은 Gitlab과 계속 동기화됩니다.

무엇이 원인이 될 수 있는지 아십니까?

도와주셔서 감사합니다!

gitrm 사용:

추적할 파일을 이미 추가한 경우 추적에서 제거해야 합니다.

git rm env.local --cached
git rm env.staging --cached
git commit -m "Stopped tracking env.local, and env.staging"

이제 해당 파일을 추적하지 않고 분기를 복제할 수 있습니다.

참고: 이러한 파일의 내용은 기록에 있으며 중요한 데이터가 포함되어 있으면 기록에서 해당 파일을 완전히 제거해야 합니다.

이 명령을 실행합니다.

git rm .env --cached
git commit -m "Stopped tracking .env File"

larvel에는 데이터베이스 연결을 위한 .env 파일 include가 있습니다.따라서 캐시에서 .env 파일을 제거해야 합니다.

캐시에서 해당 파일을 제거할 수 있습니다.

명령에 따르지 않음

git rm .env --cached
git commit -m "Any message"

왜냐하면 너의.env파일이 git에 푸시되었습니다.

먼저 git에서 해당 항목을 삭제하고 변경사항을 푸시해야 합니다.

rm -f .env
git add .
git commit -m "remove .env file from git"
git push

가장 좋은 해결책은 다음과 같습니다..env자신의 폴더에 있는 파일을 추가한 다음 해당 폴더를.gitignorefile. 예:

  • "message"라는 폴더를 만듭니다.
  • 움직이세요.env파일을 해당 폴더에 저장합니다.
  • 을 추가vars폴더에..gitignore
*inside .gitignore*

/node_modules
/vars

- 경로를 추가해야 합니다.dotenv.config()당신이 사용하는 당신의 메인 파일에서.enviroment variables

dotenv.config({path: "./vars/.env"}

그러면 이전과 동일한 방식으로 환경 변수를 계속 참조할 수 있습니다.

clear cache 명령을 사용할 필요가 없으며 GUI에서도 훨씬 간단한 솔루션을 사용할 수 있습니다.

만약 당신이 절대적으로 확신한다면, 당신의.gitignore규칙이 올바름:

  1. 무시되지 않는 파일 스테이징(스테이지 전용 커밋 안 함)
  2. 파일의 스테이징을 해제합니다.
  3. 파일이 더 이상 변경 사항에 나타나지 않아야 합니다.

파일 이름 gitignore를 추가했음에도 불구하고 gitignore가 예상대로 작동하지 않는다고 생각되면 먼저 git에서 gitnore를 제거해야 합니다.

.gitignore를 업데이트하면 간단합니다.

*.env
*.env.example
*.env.local
*.env.staging

언급URL : https://stackoverflow.com/questions/38983153/git-ignore-env-files-not-working

반응형