방대한 문서보다 동작하는 소프트웨어

개발

[Git] stash 사용법

꽃게장세트 2022. 11. 9. 20:10

여러 작업을 동시에 진행하면 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