
git stash 뒤에 새 파일이 남는다면 먼저 미추적 파일인지, 무시된 파일인지 구분하세요. 기본 보관 범위에 새 파일이 모두 포함된다고 가정하면 작업을 잃을 수 있습니다.
적용 환경: Git CLI; git --version과 설치된 git stash 도움말 확인. 공식 문서 확인일: 2026-10-23. 아래 내용은 문서 기반 점검 가이드이며 운영 환경에서 실행한 시험 결과가 아닙니다.
1. 원인: 파일 상태마다 포함 범위가 다릅니다
| 파일 상태 | 보관 옵션을 볼 때 |
| 추적 중인 변경 | 기본 stash 범위 확인 |
| 미추적 파일 | -u 포함 여부 확인 |
| 무시된 파일 | -u만으로 포함되지 않음 |
status의 짧은 형식에서 ??는 미추적, --ignored로 표시한 !!는 무시된 경로입니다. 표시 범위를 좁혀 놓았다면 파일이 안 보일 수 있으므로 저장소 루트와 명령 옵션도 확인합니다.
2. 해결 순서: 상태를 읽고 보관 범위를 정합니다
git --version
git status --short --untracked-files=all
git status --short --ignored
git stash list
위 명령은 조회용입니다. 중요한 파일은 승인된 별도 위치에 먼저 보존하세요. 아래 명령은 작업 트리를 바꾸므로 실제 저장소와 보관할 파일을 확인한 뒤에만 실행합니다.
git stash push -u -m "before-task-switch"
-u는 미추적 파일까지 보관합니다. -a는 무시된 파일도 포함하므로 비밀 설정·대용량 산출물을 무심코 넣지 않도록 주의합니다. 이 글은 -a의 일괄 실행을 권하지 않습니다.
3. 확인: 이름만 보지 말고 내용을 대조합니다
git stash list
git stash show --include-untracked --stat 'stash@{0}'
git status --short --untracked-files=all
설치 버전이 해당 show 옵션을 지원하는지 도움말을 확인합니다. 방금 만든 항목인지 메시지와 목록을 대조하고, 기대한 파일이 포함됐는지 확인합니다. 복원 시에는 현재 변경을 먼저 보존한 뒤 apply를 검토합니다. apply는 보관 항목을 남기지만 충돌 없이 복원된다는 보장은 없습니다.
4. 주의와 FAQ
stash는 원격 백업인가요? 일반적인 stash 사용을 원격 백업으로 간주하면 안 됩니다. 중요한 작업의 별도 보존 계획이 필요합니다.
pop 실패 후 다시 실행하면 되나요? 충돌 상태부터 확인합니다. 무작정 재실행하거나 clear/drop으로 정리하지 마세요.
서브모듈까지 한 번에 보관되나요? 별도 저장소 경계를 확인해야 합니다. 이 글은 일반적인 단일 저장소의 파일 분류를 다룹니다.
공식 출처와 이어 읽기
'소프트웨어개발' 카테고리의 다른 글
| journalctl -b -1 로그가 없을 때: 이전 부팅 기록과 저장 방식 점검 (0) | 2026.10.24 |
|---|---|
| S3 만료 후 용량이 남는 이유: 삭제 마커와 비현재 버전 구분 (0) | 2026.10.24 |
| CloudWatch 데이터 부족 경보: missing·ignore·breaching 선택 기준 (0) | 2026.10.24 |