증상
에이전트가 "로컬 설정이니 정리한다"며 에디터 설정 디렉터리를 git rm했다. 다음 pull부터 모든 기기에서 그 설정(예: 그래프 뷰 색 팔레트)이 사라졌다.
원인
그 파일은 .gitignore의 ! 예외로 의도적으로 추적되던 공유 설정이었다. 디렉터리의 나머지는 전부 미추적이라 파일 하나의 화이트리스트가 눈에 안 띄었고, "에디터 설정 = 로컬"이라는 통념이 git rm을 정당화했다. 추적 중인 파일의 삭제는 커밋을 타고 전파된다 — 로컬 정리가 아니라 전 기기 삭제다.
해법
지우기 전에 추적 의도를 확인한다.
git ls-files <path> — 출력이 있으면 추적 중이다git check-ignore -v <path> — ! 규칙이 매칭되면 누군가 명시적으로 추적하기로 한 것이다화이트리스트된 파일은 지우지 않는다. 값을 바꾸려면 그 파일을 수정해 커밋한다. 디렉터리의 나머지 미추적 파일은 계속 미추적이 맞다.
검증
삭제를 커밋하기 전 git diff --cached --diff-filter=D --name-only로 삭제 목록을 뽑고, 경로마다 git check-ignore -v를 돌려 ! 매칭이 하나도 없는지 본다.
★ 추적되는 파일은 누군가 추적하기로 결정한 것이다. 화이트리스트는 실수가 아니라 결정이다.