(13)git stash

2019. 4. 30. 18:13GIT

git stash에 대해 공부해보겠습니다. 

 

다른 branch에서 파일을 수정 후 다른 branch로 이동하려고 하면 아래와 같이 파일이 수정됐는데 체크아웃 하려고??? 라고 물어본다. 

그래서 덮어쓰기의 경우 일반적으로는 commit까지 해주어야지 마음대로 checkout을 해줄 수 있다.

또는 그냥 새로운 파일을 추가해주면 단순하게 합쳐진다. 이러한 불쌍사를 막아야한다.  

그래서 stash는 Commit을 해주기전에 checkout을 해줄 수 있게 해주는 기능이다. 이번에는 새로운 폴더를 만들어서 진행해보겠습니다. 

 

나중에 

 

git stash (save)

아래와 같이 working directory를 저장했습니다. save는 써주어도 되고 안써도 됩니다. 

그럼 이전에 수정해 주었던 a b가 존재하지않고 최근 commit의 정보로 되돌아갑니다. 

 

그럼 임시 저장했던 정보들을 다시 불러오는 방법도 필요할 것 입니다. 

 

git stash apply

위의 명령어를 사용하면 임시 저장되었던 정보들을 불러 올 수 있습니다. 

 

그리고 임시저장된 목록을 보고 싶다면 아래와 같이 작성해주면 됩니다. 

git stash list

0이 항상 가장 최근의 정보이다. 

 

그리고 git stash는 apply를 하든 뭐를 하든 특별히 정보가 지워지지 않는다. 그래서 개발자가 특별히 명시를 해주어서 진행하여야한다. 

git stash drop

가장 최근의 stash 정보를 삭제 해준다. 그래서 적용과 삭제를 동시에할 수 있다. 아래와 같은 명령어를 사용하면 된다. 

 

git stash apply; git stash drop;

Command Line에서는 한줄에 이렇게 동시에 사용할 수 있다.

 

이번에는 stash에 대해 알아보았다. 이는 이전에 다른 branch에서 master로 이동하기 전에 commit을 할 상황이 아니라면 현재의 상황을 저장한 후 가장 최근의 commit으로 되돌아가 안전적으로 master로 돌아갈 수 있게 해주는 기능이다. branch를 자주 사용하는 상황에서 유용하게 쓰일 것이다. 

'GIT' 카테고리의 다른 글

(14) git rebase  (0) 2019.05.05
(12)git merge conflict  (0) 2019.04.30
(11) git merge  (0) 2019.04.30
(10) git branch 비교하기  (0) 2019.04.29
(9) git branch  (0) 2019.04.29