본문 바로가기

Tool/Git

(GIT) Stash

언제 사용하는가?

branch의 작업이 끝나지 않았을 때 다른 branch로 checkout 해서 다른일을 해야하는 경우

이때 작업이 끝나지 않은 내용을 commit 하기 애매한 경우

 

stash를 사용하면 내가 작업한 내용을 어딘가에 숨겨놓을 수 있다.


git checkout -b "브랜치 명" : branch를 생성하고 checkout을 동시에 하는 명령어

 

상황

exp branch에서 f1.txt를 수정 후 add 하지 않은 상황에서

급하게 master branch로 checkout 해야하는 경우

 

현재 branch master 

exp에서 수정한 내용이 master상에서도 존재하는 것을 볼 수 있다.

 

 

그럼 어떻게 할 것 인가? - Stash

git stash

 

현재 상태

아무것도 작업한 내역이 없어진다.

 

 

 

 

 내가 수정했던 내용 또한 볼 수 없다.

 

 

 

감춰놓았던 내역을 복구

git stash apply

 

수정사항이 살아났다!

 

 

 

 

 

 

git reset --hard : 최신 커밋으로 reset

git stash apply : stash 상태로 복원

git stash list : stash 리스트 확인

 


f2.txt 생성 후 내용 작성

git stash 실행

 

f2.txt 는 맨 위의 것이다.

그리고 git apply를 적용하면 맨 위의 것부터 실행된다는 점에 유의하자

 

apply 이후 apply한 stash 내역을 삭제하고 싶을 때

git stash drop

또는

git stash apply; git stash drop;

위와같이 실행하면 적용과 삭제를 동시에 할 수 있다.

 

 

 

'Tool > Git' 카테고리의 다른 글

(GIT) Branch 충돌해결  (0) 2019.12.25
(GIT) Branch 병합  (0) 2019.12.25
(GIT) Branch 정보확인  (0) 2019.12.25
(GIT) Branch 만들기  (0) 2019.12.25
(GIT) reset과 checkout의 원리  (0) 2019.12.25