본문 바로가기
Develop/Git

[git] git stash

by 코딩의성지 2019. 9. 12.

git 을 사용하다가 새로운 branch를 안따고 이전에 사용했던 branch에 작업을 하는 경우가 있다.

 

사내 공모전 때문에 SOLO 탈출이라는 App 을 개발하면서, 서버에 Spring 프로젝트를 올리는 작업을 하고 있는데 이미 commit 하고 merge 까지 된 브랜치인데 로컬에서 그위에 작업을 해버렸다....

 

 

방법이 있겠지 하고 열심히 구글링을 해서 git stash 라는 걸 찾음.

 

git stash는 Working Directory 에 Unstaged 파일을 백업해놓고, Working Directory를 HEAD의 상태로 만드는 것이다.

 

쉽게 말하면 작업하던걸 어딘가에 임시로 저장해놓고 git log 찍어 봤을때 맨위에 있는 놈으로 해놓는 걸 의미한다.

그럼 git stash 명령어를 한번 날려보자.

 

git stash를 날리고, solo-spring-mvc3 라는 브랜치가 마지막으로 merge 된 이후의 상태와 같은걸 볼수 있다. 그러면 이제 새롭게 브랜치를 따보자.

 

solo-spring-mvc3에서  강제로 conflict를 발생시키기 위해 그냥 바로 따버렸다. (다음 글에서 conflict 발생하면 해결하는법 알아보자) 브랜치를 따고나서 git stash list를 날리면 임시저장되어있는 작업들을 보여준다. 여기서 git stash show stash이름 을 날리면 그 stash의 자세한 내용도 볼수있으니 참고~

그러고 나서 git stash pop을 날리면 맨 위에 있는 stah가 다시 불러와진다!!

 

 

 

 

 

반응형

댓글