제목이 모든 것을 말해줍니다. .gitignore 파일이 예상대로 작동하지 않아 문제를 해결할 수 있는 경우가 많습니다.
.gitignore 파일은 Git 리포지토리에서 중요한 역할을 합니다. .gitignore 파일이 작동하지 않는 경우 비공개로 유지해야 하는 변경 사항을 실수로 추적할 수 있습니다. 이러한 변경 사항 중 일부에는 API 키와 같은 민감한 정보가 포함될 수 있습니다.
깨진 .gitignore 파일의 두 가지 원인은 다음과 같습니다.
- 커밋한 후 .gitignore에 파일 추가
- .gitignore 파일에서 잘못된 파일 이름 또는 경로를 참조합니다.
이 튜토리얼에서 이 두 가지 문제와 해결 방법에 대해 논의할 것입니다.
.gitignore 파일이란 무엇입니까?
.gitignore 파일에는 Git 리포지토리에 저장하지 않으려는 모든 파일 목록이 포함되어 있습니다. 이 파일은 종종 리포지토리 외부에 구성 및 환경 파일을 보관하는 데 사용됩니다. 이러한 파일에는 개인 정보가 포함되어 있는 경우가 많으며 원격 저장소에 있어서는 안 됩니다.
이 파일은 .gitignore로 명시적으로 이름을 지정하고 저장해야 합니다. . 이 일반 텍스트 파일에 Git이 추적하지 않도록 하려는 파일 또는 디렉토리의 경로를 추가합니다. 이 파일에 추가되는 모든 내용을 Git은 무시하고 추적 트리에 추가하지 않습니다.
다음은 gitignore 파일 내용의 예입니다.
node_modules/ .env
이 파일에서 우리는 기본적으로 Git에게 특정 파일을 무시하도록 지시합니다. 이것은 종종 API 키를 포함하는 .env 파일입니다. 설치된 모든 NPM 패키지가 포함된 node_module 폴더도 무시합니다.
참가자의 81%는 부트캠프에 참석한 후 기술 직업 전망에 대해 더 자신감을 느꼈다고 말했습니다. 지금 부트캠프에 참여하십시오.
부트캠프 졸업생은 부트캠프 시작부터 첫 직장을 찾는 데까지 6개월도 채 걸리지 않았습니다.
무시할 일반 파일에는 .DS_Store 파일, .env 파일 및 구성 파일이 있습니다. .DS_Store 파일은 종종 macOS 운영 체제에서 발견되며 Git 리포지토리의 일부일 필요가 없습니다.
대부분의 .gitignore 파일은 저장소의 루트 디렉터리에 있습니다. .gitignore 파일에 대해 자세히 알아보려면 초보자를 위한 .gitignore 파일 가이드를 확인하세요.
시나리오 A:커밋 후 .gitignore에 파일 추가
무시해야 했던 파일을 실수로 커밋한 후 gitignore가 작동하지 않는 이유에 대해 불평할 수 있습니다. 그래서 우리는 그것을 gitignore에 추가하고 Git이 여전히 그것을 추적하고 있다고 불평합니다.
그 이유는 커밋하기 전에 파일/폴더를 추가해야 하기 때문입니다. Git은 이미 추적 중이므로 다시 추적을 해제하려면 다음 명령을 수행해야 합니다.
git rm -rf --cached <path>
첫 번째 부분 git rm은 <경로>를 제거합니다. –캐시됨 플래그는 인덱스에서 제거되지만 로컬 디렉토리에 남아 있음을 지정합니다. r 디렉토리 경로와 f가 주어지면 재귀적으로 제거됩니다. 강제합니다. 파일로만 작업하고 여전히 로컬에 유지하려면 다음을 수행하십시오.
git rm --cached <file>
따라서 이를 통해 Git은 더 이상 제공된 파일/폴더를 추적하고 싶지 않다는 것을 나타냅니다. 이제 다시 시도하면 gitignore가 정상적으로 작동합니다. . gitignore가 작동하려면 파일/폴더를 지정해야 한다는 것을 기억하십시오!
시나리오 B:Gitignore가 커밋 전에 생성되었지만 여전히 파일을 추적하지 않음
.gitignore가 여전히 파일을 추적하지 않는 경우 솔루션은 올바른 파일을 참조하고 있는지 확인하는 것만큼 간단할 수 있습니다. .gitignore 파일에서 무시할 파일을 정확히 지정해야 합니다. 철자 오류나 잘못된 경로 이름은 사용자가 직접 수정해야 합니다.
다음 예를 고려하십시오.
*.pyyc
.gitignore 파일은 Git에게 무시할 파일을 알려줍니다. 이 경우에는 모두 .pyyc 파일입니다. 그러나 우리의 의도는 .pyc 파일을 무시하는 것입니다. .pyc 파일은 Python 프로그램의 구성 파일입니다. .gitignore 파일은 이를 알지 못하므로 규칙을 수정해야 합니다.
*.pyc
이제 저장소에서 모든 .pyc 파일을 무시합니다.
또한 파일/폴더 선언의 시작과 끝에 후행 공백이 없는지 확인하십시오.
결론
gitignore가 예상대로 작동하지 않는 다양한 경우에 대한 몇 가지 시나리오와 솔루션 가능성에 대해 논의했습니다. 주요 결론은 올바른 경로를 추가할 수 있도록 파일/디렉토리의 위치를 이해해야 한다는 것입니다.
무시해야 하는 파일은 생성하는 즉시 추가해야 합니다. 실수로 커밋했다면 운 좋게도 git rm -rf –cached
최종 메모 :git reset이 유용할 수 있는 다른 경우가 있을 수 있습니다. 이러한 경우에 유용할 git reset에 대한 기사를 작성했습니다. 따라서 Git 재설정은 시간을 되돌리는 것과 같으므로 어떤 경우에는 이것이 원하는 것입니다.
Git에 대해 더 알고 싶으신가요? Git 학습 방법 가이드를 읽어보세요. 이 가이드에서는 Git 학습에 대한 전문가의 조언과 최고의 학습 리소스에 대한 지침을 찾을 수 있습니다.