개발을 하다 보면 일부 내용만 stash 해야 될 필요가 있다.
나 같은 경우는 일부 내용을 빼서 잠깐 테스트해 볼 건데, 어차피 다시 적용할 내용이라 rollback 했다가 다시 작성하기에는 귀찮을 때 사용한다.
그럴 경우 그 일부 내용만 staging area에 올려서 stash를 하면 된다.
그 방법에 대해서 알아보겠다.
명령어
모든 변경 사항 stash
git stash push메시지 붙여서 stash
git stash push -m "test"staging area에 있는 변경 사항만 stash
git stash push --stagedGit version이 2.35 미만일 경우
--staged 옵션을 사용할 수 없다.
-k 옵션을 이용해서 조금 복잡하지만 수행할 수 있다.
-
모든 변경 사항 stash하면서 staged change는 working tree에 남기기
git stash push -k # -k 또는 --keep-index -
남은 변경 사항 stash (staging area만 stash 됨)
git stash push -
원래 stash 했던 것 stash pop
- 가장 최근 stash 한 것이
0번으로 가기 때문에 순서 상1을 pop 하면 된다. 하지만 혹시 모르기 때문에git stash list로 해당 stash의 번호를 확인해본 후 pop 하는 것이 좋다.
git stash pop 1 - 가장 최근 stash 한 것이
- 이제 stash 하기 전 상태의 working tree가 되었다. 여기서 필요 없는 부분(staged 부분)을 제거하면 된다.