BackEnd King KY

TIL31 - git stash 본문

Git

TIL31 - git stash

Django King, Lee 2022. 7. 24. 17:04
728x90


Git stash


회사에서 작업을 하던 중, 잠시 다른 해결 요청이 온 적 있었습니다.

저희 회사는 빠르게 PR을 올려서 머지하는 전략으로 업무를 하고 있어서, 중간에 뭔가 커밋을 하기 아까웠는데요.


그 때 사용한 것이 stash였습니다.

아직 마무리 되지 않은 작업이다보니, 이걸 스택에 저장하는 개념입니다.


어떻게 사용하나요?


이미지를 통해 설명해보겠습니다.

우선, 마스터에서 feature/stash라는 브랜치를 생성했습니다.

그 다음, 수정사항 하나 만들고 git stash라는 명령를 사용해서 저장했습니다.

그러면 *1 이렇게 저장되었다고 나옵니다.


그리고 한 번 더 수정 후 stash를 통해 저장했는데, 그러면 *2이렇게 두 개가 저장되었다는 의미로 표기가 됩니다.

확인을 하기 위해 git stash list를 입력하면, 0번째 인덱스부터 저장이 된 리스트가 나오고 가장 마지막 커밋 내역이 나오게 됩니다.


image

image


stash를 이용해 임시 저장한 상태에서 다른 작업이 끝났다면, 다시 stash 내역을 가져와야 합니다.

그 때 사용하는 것이 git stash apply입니다.

해당 명령어를 사용하면 가장 최근 stash한 걸 가져옵니다.


뒤에 --index를 사용해서 스테이징까지 올릴 수 있는데, 그건 그 때의 작업상황에 맞게 해주시면 될 것 같습니다.

그리고 stash 한 내역을 삭제하고 처음부터 작업을 다시 하겠다라고 생각하실 경우 사용하는 것이 drop입니다.


git stash drop or git stash drop stash@{1} 같이 stash 이름을 적어주면 삭제됩니다.

이름을 작성하지 않으면 가장 최근 stash가 제거됩니다.

'Git' 카테고리의 다른 글

TIL13 - SSH  (0) 2022.03.03
TIL2 - Git Flow  (0) 2022.02.15