git stash는 commit하지 않은 변경 사항을 일시적으로 저장하고 작업 디렉터리를 깨끗한 상태로 되돌립니다. 따라서 절반만 끝낸 작업을 commit하지 않고 컨텍스트를 전환할 수 있고(예: 다른 branch에서 긴급 버그 수정), 나중에 변경 사항을 복원할 수 있습니다.
stash가 해결하는 문제
commit하지 않은 변경 사항이 있는 작업 중인데 긴급하게 컨텍스트를 전환해야 함:
→ branch 전환? Git이 거부하거나(commit하지 않은 변경이 충돌) 지저분하게 끌고 감
→ 절반만 끝낸 작업을 commit? 아니오 — 준비되지 않음(히스토리 오염)
→ STASH는 변경 사항을 옆에 저장하여, 전환할 깨끗한 작업 디렉터리를 제공.
stash 사용하기
git stash
git stash push -m
git stash list
git stash pop
git stash apply
git stash apply stash@{1}
git stash drop stash@{0}
git stash clear
