git stash 제대로 쓰기: 작업 중 급하게 브랜치 바꿀 때
데브노트 편집팀·2026.06.04·6분 읽기
ADVERTISEMENT
급한 핫픽스 요청이 왔는데 지금 작업이 어중간하게 끝나 있을 때. 커밋하기엔 미완성이고, 버리기엔 아깝습니다. 이럴 때 git stash가 변경을 임시 보관함에 치워줍니다.
stash의 기본 흐름
# 현재 작업(추적 중인 파일의 변경)을 치워두고 깨끗한 상태로
git stash
# 보관된 목록 확인
git stash list
# stash@{0}: WIP on feature: 3f1a... 작업 중
# 다시 꺼내오기(보관함에서 제거하며 복원)
git stash pop
pop은 꺼내면서 보관 항목을 삭제하고, apply는 꺼내되 보관 항목을 남깁니다. 같은 변경을 여러 브랜치에 적용하고 싶다면 apply가 안전합니다.
추적되지 않는 새 파일도 함께
git stash는 기본적으로 추적 중인 파일만 치웁니다. 새로 만든(아직 git add 안 한) 파일까지 포함하려면:
git stash -u # untracked 포함
git stash -a # 무시된 파일까지 전부
메시지를 붙여 구분하기
stash가 쌓이면 무엇이 무엇인지 헷갈립니다. 메시지를 달아두세요.
git stash push -m "결제 폼 검증 작업 중"
git stash list
# stash@{0}: On feature: 결제 폼 검증 작업 중
특정 파일만 stash
전체가 아니라 일부 변경만 치우고 싶을 때:
git stash push -m "스타일만" src/styles.css
자주 쓰는 명령 정리
| 명령 | 동작 |
|---|---|
git stash | 추적 파일 변경을 치움 |
git stash -u | untracked 파일까지 치움 |
git stash list | 보관 목록 |
git stash pop | 꺼내며 항목 제거 |
git stash apply | 꺼내되 항목 유지 |
git stash drop stash@{1} | 특정 항목 삭제 |
git stash clear | 전체 삭제 |
마무리 체크리스트
- 급하게 브랜치를 바꿔야 하면
git stash로 깨끗하게 - 새 파일도 치우려면 반드시
-u - 여러 곳에 적용할 변경은
pop말고apply - 메시지(
-m)를 달아 나중의 나를 구하세요
stash는 "잠깐만요" 버튼입니다. 커밋 히스토리를 더럽히지 않고 문맥을 갈아탈 수 있습니다.
ADVERTISEMENT
함께 보면 좋은 글
커리어·실무· 6분
Git merge vs rebase: 협업에서 헷갈리지 않는 기준
merge와 rebase의 차이, 깨끗한 히스토리와 안전성의 트레이드오프, 그리고 '공유 브랜치에 rebase 금지' 원칙까지 실무 기준으로 정리합니다.
2026.07.18
커리어·실무· 6분
좋은 커밋 메시지 쓰는 법 & 협업 매너 (Git 컨벤션 실전 정리)
'수정함', 'ㅇㅇ' 같은 커밋 메시지는 미래의 나와 동료를 괴롭힙니다. 읽히는 커밋 메시지 작성법과 브랜치·PR 협업 매너를, 좋은 예/나쁜 예와 컨벤션 표로 정리했습니다.
2026.07.05
커리어·실무· 6분
좋은 코드 리뷰 하는 법: 팀을 성장시키는 리뷰 문화
코드 리뷰는 결함 잡기를 넘어 팀 학습의 장입니다. 리뷰어와 작성자 모두를 위한 실전 원칙과 좋은/나쁜 코멘트 예시를 정리합니다.
2026.07.19