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분
코드리뷰 잘하는 법 (팀이 성장하는 리뷰 vs 감정 상하는 리뷰)
코드리뷰는 코드를 고치는 일이 아니라 사람과 협업하는 일입니다. 리뷰어와 작성자 모두를 위한 실전 매너, 좋은 코멘트와 나쁜 코멘트 비교, 그리고 리뷰 속도를 높이는 팁을 정리했습니다.
2026.06.28
커리어·실무· 6분
유의적 버전(SemVer): ^와 ~, 그리고 1.2.3의 의미
MAJOR.MINOR.PATCH의 규칙, package.json의 ^·~ 범위 표기, lock 파일의 역할까지. 의존성 업데이트가 무섭지 않으려면 알아야 할 버전 규칙을 정리합니다.
2026.06.13
커리어·실무· 7분
기술면접·코딩테스트 준비 전략 (CS 지식부터 라이브 코딩까지)
코딩테스트는 통과하는데 기술면접에서 막힌다면 전략이 잘못된 겁니다. CS 지식, 알고리즘, 라이브 코딩, 꼬리질문 대응까지 단계별로 무엇을 어떻게 준비할지 정리했습니다.
2026.06.23