merge 를 하거나 branch 를 변경할 때 기존 작업물을 commit 하거나 stash 하라는 메시지를 볼 수 있다.
주로 임시적인 commit 을 행하곤 하는데, stash 라는 기능도 매우 유용하다.
요점만 말하자면 현재 수정된 tracked 파일들을 잠시 특정 공간(stack)으로 옮겨주는 역할을 한다.
그리고 나서 나중에 다시 되돌리면 끝이다.
$ git stash <- 수정된 tracked 파일을 잠시 옮김 $ git checkout other_branch <- 딴짓 $ git commit -m 'anything' <- 딴짓 $ git checkout ori_branch <- 딴짓 $ git stash apply <- 수정된 tracked 파일을 다시 가져옴 | cs |
재미진 기능이다.
아래의 명령으로 stash 된 리스트를 확인할 수 있다.
$ git stash list stash@{0}: WIP on master: 049d078 added the index file stash@{1}: WIP on master: c264051 Revert "added file_size" stash@{2}: WIP on master: 21d80a5 added number to log | cs |
특정 stash 리스트를 삭제할 수도 있다.
$ git stash drop stash@{0} | cs |
apply 대신 아래의 명령을 사용하면 stash apply 후 바로 스택에서 제거하여 리스트에 남지 않는다.
$ git stash pop | cs |
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,