설정 파일을 고쳤다가 실수로 커밋해서 팀 빌드를 깨뜨린 적 있는가? 이 글은 그 문제를 구조적으로 해결한 기록이다.
문제: 추적 중인 파일의 로컬 수정
Unreal Engine 프로젝트의 테스트용 .uasset을 손봤다.
전부 내 로컬에서만 필요한 변경이었지만, 이 파일들은 이미 Git이 추적(Tracked) 중이라 수정 즉시 GitKraken 변경 목록에 올라온다. 브랜치 전환마다 stash를 해야 하고, 깜빡하면 그대로 Dev에 딸려간다.
원인: .gitignore로는 해결할 수 없다
| 구분 | .gitignore | skip-worktree |
| 적용 대상 | 미추적 파일 | 이미 추적 중인 파일 |
| 동작 | 파일 자체를 Git 시야에서 제외 | 파일의 변경 사항만 무시 |
| 범위 | 저장소 전체 | 내 로컬 환경에만 적용 |
해결: --skip-worktree
Git 인덱스에 "이 파일은 변경 여부를 확인하지 마라"는 표식을 남기는 명령이다.
반면 --skip-worktree는 개발자가 명시적으로 해제하기 전까지 유지된다.
로컬 변경 보호 목적에는 --skip-worktree가 올바른 선택이다.
고정하기
git update-index --skip-worktree Config/DefaultEditor.ini
GitKraken 변경 목록에서 즉시 사라지며, 수정해도 커밋에 포함되지 않는다.
🤖 요청 예시: "이 파일들 로컬 고정해줘"`, `"사진에 있는 파일들 skip-worktree 해줘"
고정 목록 확인
git ls-files -v | grep '^S'
skip-worktree가 설정된 파일은 앞에 대문자 S가 붙는다.
🤖 요청 예시: "지금 로컬 고정된 파일들 목록 보여줘"
고정 해제
git update-index --no-skip-worktree Config/DefaultEditor.ini
해제 즉시 변경 사항이 다시 나타나고, 일반 파일처럼 커밋할 수 있다.
🤖 요청 예시: "테스트 끝났으니까 고정 풀어줘"`, `"이제 이 파일 정식으로 커밋할게"

⚠️ 주의: Dev 머지 시 충돌
고정한 파일이 원격에서도 수정된 경우, Git은 머지를 중단시킨다. 해결 절차는 다음과 같다.
git update-index --no-skip-worktree Config/DefaultEditor.ini # 고정 해제
git stash # 로컬 변경 임시 저장
git merge origin/dev # 머지
git stash pop # 복원
git update-index --skip-worktree Config/DefaultEditor.ini # 다시 고정
순서가 중요하다. 고정을 먼저 해제해야 Git이 로컬 변경을 인식하고, stash로 안전하게 보관할 수 있다.
정리
| 항목 | 내용 |
| 언제 쓰는가 | 추적 중인 파일을 로컬에서만 수정하고, 커밋에서 제외하고 싶을 때 |
| 무엇이 좋은가 | stash 반복 불필요, 공유 브랜치 오염 방지 |
| 무엇을 조심하는가 | 머지 시 원격 변경이 있으면 일시적으로 해제 필요 |
skip-worktree는 "사람"에 의존하던 워크플로를 "시스템의 보장"으로 전환하는 구조적 개선이다.
'Dev. > 기타 개발 관련' 카테고리의 다른 글
| 다시 정리해보는 GitKraken Workflow (0) | 2026.03.08 |
|---|---|
| GitKraken Desktop 11.10 업데이트 정리 (0) | 2026.03.08 |
| 언리얼 엔진 개발자를 위한 C드라이브 용량 확보 가이드: 20GB+ 되찾기 (0) | 2026.02.03 |
| GitHub 커밋 알림을 Discord로 받는 법: Webhook 설정 (0) | 2026.01.23 |
| Git Push의 공포... Azure DevOps와 LFS 413 에러 (0) | 2025.12.15 |
