작업중이던 브랜치에서 다른 브랜치로 넘어가기 전에 commit을 하지 않으면 넘어가지지 않아서 항상 commit을 하고 넘어갔었다.
불필요한 commit을 하기 싫었는데, 그럴 때 사용할 수 있는 git stash를 알게된 것!
마무리되지 않은 작업을 스택에 잠시 저장 해 두었다, 나중에 꺼내올 수 있음
워킹 디렉토리에서 수정한 파일들만 저장
stash 저장
- 위의 명령어를 통해 새로운 stash를 스택에 만들어 하던 작업 임시로 저장
$ git stash
or$ git stash save
stash 목록
- stash 목록 확인 (여러번 stash 한 저장 stash 목록 확인 가능)
$ git stash list
: 이름 목록 확인 (stash@{0}
)
stash 복구
- 했었던 작업을 다시 가져옴
$ git stash apply
: 가장 최근의 stash를 적용
$ git stash apply [stash 이름]
: 해당 stash 적용
=>--index
옵션이 없으면 Staged가 아닌 상태로 돌려줌
$ git stash --index
: 옵션을 사용하면 Staged 상태까지 복원
stash 제거
- 복원하였다고 해도 해당 stash는 스택에 남아있기 때문에 제거필요시 사용
$ git stash drop
: 가장 최근의 stash를 제거
$ git stash drop [stash 이름]
: 해당 stash를 제거
stash 적용 + 제거 동시에!
$ git stash pop
stash 되돌리기
- 실수로 잘못 stash 적용한 것을 되돌릴 때
$ git stash show -p | git apply -R
: 가장 최근의 stash를 사용하여 패치를 만들고 그것을 거꾸로 적용
$ git stash show -p [stash 이름] | git apply -R
: stash 이름에 해당하는 stash를 이용하여 거꾸로 적용
공부하며 정리&기록하는 ._. 씅로그