.gitkeep은 Git이 비어 있는 디렉토리를 추적하도록 하기 위해 사용하는 관례적인 파일입니다. Git은 기본적으로 비어 있는 디렉토리를 버전 관리하지 않기 때문에, 디렉토리가 비어 있더라도 Git에 포함시키고 싶을 때 .gitkeep 파일을 생성합니다.
왜 .gitkeep이 필요한가?
Git의 특성
- Git은 파일만 추적하며, 디렉토리 자체는 추적하지 않습니다.
- 따라서 디렉토리가 비어 있으면 Git은 해당 디렉토리를 버전 관리에 포함하지 않습니다.
빈 디렉토리 유지 필요성
- 프로젝트 구조를 유지하거나, 특정 디렉토리가 나중에 파일을 가질 것임을 명시적으로 나타내야 할 때, 빈 디렉토리가 필요할 수 있습니다.
- 이 경우, 디렉토리에 .gitkeep 파일을 추가해 Git이 해당 디렉토리를 추적하게 만듭니다.
.gitkeep의 사용 방법
비어 있는 디렉토리에 .gitkeep 파일 생성
- 예: mkdir empty_dir && touch empty_dir/.gitkeep
Git에 추가하고 커밋
git add empty_dir/.gitkeep
git commit -m "Add .gitkeep to track empty_dir"
효과
- 디렉토리가 비어 있어도 .gitkeep 덕분에 Git은 해당 디렉토리를 추적합니다.
.gitkeep은 특별한 파일인가?
아니요.
.gitkeep은 Git에서 특별한 기능을 가진 파일은 아닙니다. 단지 관례적으로 사용하는 이름일 뿐입니다. 사실 .gitkeep 대신 다른 이름을 사용해도 Git은 동일하게 작동합니다. 다만, 팀에서 .gitkeep이라는 이름을 많이 사용하기 때문에 이를 따르는 것이 좋습니다.
.gitkeep과 .gitignore의 차이
- .gitkeep: 비어 있는 디렉토리를 추적하도록 사용.
- .gitignore: 특정 파일 또는 디렉토리를 Git의 버전 관리에서 제외하도록 사용.
예 ) .gitignore로 특정 파일을 제외하면서도 디렉토리 구조는 유지하고 싶을 때 .gitkeep을 함께 사용.
.gitkeep을 사용하지 않는 경우
.gitkeep 없이도 비어 있는 디렉토리를 관리하고 싶다면, 디렉토리 내부에 의미 없는 파일을 추가하는 방식으로 해결할 수 있습니다. 하지만 .gitkeep을 사용하면 의도가 명확해지고, 불필요한 파일 대신 간단하게 디렉토리를 유지할 수 있습니다.