프론트엔드 첫걸음

git stash , git stash pop 본문

개발 공부/Git

git stash , git stash pop

차정 2022. 7. 3. 19:45

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번 스태쉬 적용할 수 있다.

각 번호에 해당하는 스태쉬 내용 보려면 

git stash show -p stash@{번호}  사용한다.

3번 스태쉬 적용 후에 마음이 바뀌어 2번 스태쉬를 적용하려고 

변경사항을 제거하고  git stash apply stash@{2} 적용한다 

 

(여러개의 stash 적용은 잘 안되어 나는 stash 를 한번만 쓰는걸로...ㅠㅠ)

 

 

git stash clear로 스태쉬 리스트 완전 삭제 가능하다.

'개발 공부 > Git' 카테고리의 다른 글

git checkout HEAD~1  (0) 2022.07.04
git checkout 와 git switch 차이  (0) 2022.07.03
git diff , git diff HEAD  (0) 2022.07.03
Fast-forward Merge  (0) 2022.07.03
git commit -a -m "커밋메시지"  (0) 2022.07.03