여러 작업을 동시에 진행하면 stash 와 같은 임시 저장소가 필요합니다.
가령, 🔼 A 작업 중에 B 작업을 잠시 하게 되면서 A작업을 commit 하기 모호할 때 사용합니다. 🔼 또는 테스틀 위해 유틸성으로 어떤 부분을 stash 로 저장해 놓을 수 있습니다.
저장하기
$ git stash 또는 git stash save
모든 변경사항이 stash 의 첫 번째 항목으로 저장됩니다.
리스트 보기
$ git stash list
불러오기
불러오면서 지워집니다.
$ git stash pop // 첫 번째 항목을 불러옵니다. git stash pop 0 과 동일합니다.
$ git stash pop 2
$ git stash pop stash@{2}
불러오면서 지워지지 않습니다.
$ git stash apply
$ git stash apply 0
$ git stash apply stash@{0}
삭제하기
$ git stash drop // 순차적으로 제거합니다.
$ git stash drop 0
$ git stash drop stash@{0}
이름 바꾸기
Stash 목록이 아래와 같다고 가정하겠습니다.
$ git stash list
stash@{0}: WIP on feature/DD1-1021-홈화면 개발
stash@{1}: WIP on feature/DD2-1021-설정화면 개발
stash@{2}: WIP on feature/DD3-1021-알림화면 개발
이름을 바꾸려는 stash 항목을 제거해야 합니다. 제거하면 sha 값이 반환됩니다.
$ git stash drop stash@{2}
Dropped stash@{0} (32b2f80e1711d5a409d4845a9fc5d40c9db9c5fb)
이제 반환된 sha 값을 사용해서 새로운 이름으로 추가하면 됩니다.
$ git stash store -m "build.gradle" 32b2f80e1711d5a409d4845a9fc5d40c9db9c5fb
확인해보겠습니다.
$ git stash list
stash@{0}: WIP on feature/DD1-1021-홈화면 개발
stash@{1}: WIP on feature/DD2-1021-설정화면 개발
stash@{2}: build.gradle