Git stash는 아직 커밋하지 않은 작업 디렉터리와 인덱스의 변경을 임시로 보관하는 기능이다.
Git 작업 흐름 |
|---|
Git · Git 스테이징 영역 · Git 커밋 · Git 브랜치 · Git 병합 |
Git 리베이스 · Git stash · Git 태그 · Git revert · Git bisect |
원리
stash push로 상태를 보관하고 apply나 pop으로 다시 적용한다. pop은 적용에 성공하면 해당 임시 항목을 제거하는 동작까지 포함한다.
예시
기능을 수정하던 중 다른 브랜치의 오류를 확인해야 할 때 현재 변경을 보관한 뒤 나중에 작업으로 돌아올 수 있다.
주의할 점
추적하지 않는 파일은 기본 동작에 모두 포함되지 않으며 별도 옵션을 확인해야 한다. 다시 적용할 때 충돌이 생길 수 있고 stash를 장기 공유 기록처럼 취급하지 않는다.