stash미국∙영국 [stӕʃ]
동사
- [타동사][VN + adv. / prep.] (비격식) (안전한 곳에) 넣어 두다[숨기다]
작업 중이던 파일들을 commit하지 않고, branch를 변경해서 작업하고자 할 경우에 기존 작업들을 안전한 곳(git stack)에 넣어두기 위한 명령어이다.
* branch변경 시, 작업중인 파일들을 commit하지 않고 안전하게 보관하기
$git stash
* stash한 파일(들) 확인하기
$git stash list
* stash한 파일(들) 복원하기(<-- staged상태까지는 복원되지 않는다.)
$git stash apply
* stash한 파일(들) 복원하기(<-- staged상태까지 복원한다.)
$git stash apply --index
위의 apply옵션은 단순히 stash를 적용만 할 분이다. 즉, apply옵션을 사용하여 stash하게 되면, stash된 파일(들)이 여전히 git stack에 저장되어 있다.
* stash한 파일(들) stack에서 제거하기
$git stash drop %STASH_NUM%
* stash한 파일(들)을 적용과 동시에 stack에서 제거하기
$git stash pop
* stash할 당시의 커밋을 checkout 한 후 새로운 브랜치를 만들고 여기에 적용하기
$ git stash branch %NEW_BRANCH_NAME%