[Git] git stash, git stash pop

Dodam·2024년 6월 11일
0

[GitHub]

목록 보기
6/7
post-thumbnail

Git Stash가 필요한 이유

Git Stash는 새로운 브랜치에서 저장하기 전에 다른 브랜치로 이동할 때 사용한다.
즉, 공식적으로 커밋하고 싶지는 않은데 다른 브랜치로 이동해야 할 때 사용한다.

수정한 것을 커밋하지 않은 채로 다른 브랜치로 이동하려고 하면
아래와 같은 에러 메시지가 발생하고, 다른 브랜치로 이동할 수 없다.

error: Your local changes to the following files would be overwritten by checkout:
        [내가 수정한 파일위치]
Please commit your changes or stash them before you switch branches.
Aborting

이 때 git stash를 사용한다.

git stash로 현재 브랜치의 작업을 임시 저장하고,
이동하고 싶은 다른 브랜치로 이동한다.
다른 브랜치에서의 작업이 끝난 후, 작업을 임시 저장한 브랜치로 돌아와
git stash pop 하면 임시 저장했던 작업을 이어서 진행할 수 있다.

git stash는 여러 번 사용할 수 있는데
이 때, git stash list로 여러 개의 stash를 확인할 수 있다.

stash@{0}: WIP on newBranch: 0163eae staging sentence
stash@{1}: WIP on newBranch: 0163eae staging sentence
stash@{2}: WIP on newBranch: 0163eae staging sentence
stash@{3}: WIP on newBranch: 0163eae staging sentence

git stash apply stash@{3}로 3번 stash를 적용할 수 있다.
각 번호에 해당하는 stash 내용을 보려면
git stash show -p stash@{번호} 를 사용한다.
만약 3번 stash를 적용 후, 마음이 바뀌어 2번 stash를 적용하려고 한다면
변경사항을 제거하고 git stash apply stash@{2}를 적용한다.

git stash clear로 stash 리스트를 완전 삭제할 수 있다.

profile
Good things take time

0개의 댓글