티스토리 뷰

.gitignore 파일에 .env를 추가했음에도 불구하고 .env 파일이 Git에 체크인되는 문제는 대개 다음 이유 중 하나로 발생합니다. 아래 단계를 따라 문제를 해결해 보세요.


1. 이미 스테이징되었거나 커밋된 경우

.gitignore는 새로운 파일에 대해 적용됩니다. 이미 Git이 추적하고 있는 파일은 .gitignore에 추가하더라도 무시되지 않습니다.

해결 방법:

다음 명령어를 사용해 .env 파일을 Git의 추적에서 제거합니다:

git rm --cached .env

그런 다음 변경 사항을 커밋합니다:

git commit -m "Remove .env from Git tracking"

2. .gitignore 파일의 경로 문제

.gitignore 파일에 추가한 .env가 현재 디렉토리와 매칭되지 않을 수 있습니다.

해결 방법:

.gitignore 파일에 추가된 .env의 경로를 확인하고, 프로젝트 루트 디렉토리에 정확히 위치해 있는지 확인하세요. 일반적으로 .env 파일은 루트 디렉토리에 위치하며, .gitignore에 아래와 같이 추가해야 합니다:

.env

서브디렉토리에 .env 파일이 있다면, 해당 경로도 명시적으로 추가합니다:

subdirectory/.env

3. .gitignore 파일이 제대로 적용되지 않는 경우

가끔 .gitignore 파일에 문제가 있어 제대로 적용되지 않을 수 있습니다.

해결 방법:

  • .gitignore 파일에 문제가 있는지 확인하세요.
  • .gitignore 파일이 UTF-8 인코딩인지 확인합니다.
  • 아래 명령어로 .gitignore 상태를 디버깅합니다:
    git check-ignore -v .env
    
    이 명령어는 .gitignore가 .env 파일에 대해 무시 설정을 적용했는지 확인합니다.

4. 글로벌 .gitignore 설정 확인

일부 글로벌 .gitignore 설정이 .env 파일을 무시하지 않도록 설정되어 있을 수 있습니다.

해결 방법:

글로벌 .gitignore 파일을 확인합니다:

git config --get core.excludesfile

위 명령어로 출력된 파일 경로를 열어 .env 관련 항목을 확인합니다. 필요한 경우 글로벌 .gitignore에 .env를 추가하세요:

echo ".env" >> ~/.gitignore_global

그리고 글로벌 .gitignore를 Git 설정에 적용합니다:

git config --global core.excludesfile ~/.gitignore_global

5. 캐시된 파일 확인

git status 명령어를 실행해 .env 파일이 여전히 스테이징 중인지 확인하세요. 스테이징된 상태라면 git rm --cached로 제거한 뒤 다시 테스트하세요.

728x90
반응형