Git기본 흐름

stash 기본과 안전한 사용

지금 작업을 잠깐 치워두고 브랜치를 바꾸거나 긴급 수정으로 이동해야 할 때 stash를 어떻게 안전하게 쓰는지 정리합니다.

마지막 수정 2026년 3월 22일

기본 패턴

text
git stash push -m "wip: login form"
git switch main

# 다시 돌아와서
git switch feature/login
git stash pop

설명

  • stash는 커밋하기 애매한 작업 중간 상태를 임시로 치워두는 기능입니다. 브랜치를 급히 바꾸거나 hotfix를 처리해야 할 때 특히 유용합니다.
  • 중요한 점은 stash가 "영구 보관소"가 아니라는 것입니다. 짧은 컨텍스트 전환에는 좋지만, 오래 쌓아 두면 무엇을 왜 넣었는지 잊기 쉽습니다.
  • git stash push -m처럼 메시지를 붙이면 나중에 어떤 작업이었는지 기억하기 쉬워집니다. stash list로 목록을 보고, applypop 중 어떤 동작이 맞는지 고르는 감각도 중요합니다.
  • pop은 적용 후 stash를 제거하고, apply는 적용만 하고 stash는 남깁니다. 불확실한 상황에서는 먼저 apply가 더 안전할 수 있습니다.
  • 실무적으로는 "한 시간 이상 보관할 상태"라면 stash보다 임시 커밋이나 draft branch가 더 나은 경우가 많습니다. stash는 빠른 전환 도구로 보는 편이 맞습니다.

빠른 정리

명령의미
git stash push -m "..."현재 변경을 임시 저장
git stash liststash 목록 보기
git stash applystash 적용, 목록에는 남김
git stash popstash 적용 후 제거

주의할 점

stash를 장기 저장처럼 쓰면 "어느 브랜치의 어떤 작업인지"를 잃어버리기 쉽습니다. 잠깐 치워두는 용도인지, 차라리 임시 커밋으로 남길지 먼저 판단하는 습관이 중요합니다.

참고 링크

1 sources