임시 검증 파일 저장소에서 자동 제외
목차
임시 검증용 이미지 파일들을 git 추적에서 빼고 .gitignore에 패턴 추가하는 작업을 했다. 이미 저장소에 들어있던 dc-1827부터 dc-1833까지의 PNG 파일들을 제거한 뒤, 향후 captures 디렉토리의 파일들이 자동으로 무시되도록 설정한 것.
임시 검증 결과물, 저장소에 들어와서는 안 됨
처음엔 큰 문제로 안 느껴졌다. 검증할 때 스크린샷 같은 이미지를 캡처해서 공유하면 좋으니까. 하지만 이런 식으로 쌓이다 보면 여러 문제가 생긴다. 첫째, 바이너리 파일의 특성상 저장소가 계속 커진다. 텍스트 파일은 diff로 변화를 추적할 수 있지만, 이미지 파일은 매번 전체 파일 크기가 저장소 용량에 누적된다. 둘째, 이건 코드도 아니고 실제 배포 아티팩트도 아니다. 어떤 개발자가 로컬에서 "이 부분 검증했음" 증거로 남긴 것일 뿐, 저장소에서 영구히 유지할 필요는 없다.
.gitignore로 일관성 있게 관리하기
이런 임시 파일들을 관리하는 가장 좋은 방법은 패턴화된 .gitignore 규칙을 만드는 것이다. 그러면:
- 팀원들이 매번 같은 실수를 반복하지 않는다. 누군가는 "검증 이미지도 같이 커밋해야 하나?" 하고 의심하게 되니까.
- 로컬에서는 자유롭게 captures 디렉토리를 생성해서 검증할 수 있고, git은 알아서 무시한다.
- 향후 누군가 깨끗한 워킹 디렉토리를 유지하려고 할 때도 규칙이 명확하다.
일종의 "개발 시 발생하는 부산물"을 구분하는 일이다. 빌드 결과물(dist/, build/), 의존성 폴더(node_modules/), 환경 설정(.env), 로그 파일 등처럼 captures도 같은 카테고리에 놓는 것. 이들은 각자의 로컬 환경에서 필요하지만, 저장소에는 "어떻게 만드느냐"의 규칙만 있고 "결과물"은 없어야 한다.
저장소 히스토리 정책의 일관성
이미 커밋되어 있던 파일들을 제거하는 작업은 신중하게 해야 한다. git은 히스토리 전체에서 그 파일을 계속 추적하기 때문. 간단하게 git rm --cached 후 커밋하면 앞으로는 무시하지만, 과거 커밋들에는 여전히 그 파일들이 남아 있다. 완전히 깨끗이 하려면 git filter-branch 같은 무거운 도구를 써야 하는데, 팀 협업 중이면 위험하다. 다행히 이 정도 크기의 임시 파일이면 굳이 히스토리까지 정정하지 않고, "이 시점부터는 추적 안 함"이라는 선언만으로 충분하다.
이 작업을 하면서 느낀 건, 프로젝트 초기에 .gitignore를 제대로 설정해 두는 게 얼마나 중요한지다. 나중에 파일이 쌓인 후 정리하려면 이렇게 번거로운 작업이 필요하니까. 새로운 프로젝트나 팀에 들어갈 때 가장 먼저 하는 일 중 하나가 .gitignore 체크리스트를 만드는 것도 그래서다.
🛒 이 글과 어울리는 추천 상품
*위 링크는 쿠팡파트너스 활동의 일환이며, 일정액의 수수료를 제공받을 수 있습니다.
댓글 0
첫 댓글 달아줘.