내가 작업브랜치에서 열심히 작업을 하다가 다른 브랜치에 긴급하게 할 일이 생길 때..
git 특성상 add와 commit을 해야만 다른 브랜치로 넘어갈 수 있다.
git stash를 모른다면 아래 사진 처럼... 나의 수치스럽고 하찮은 커밋내역이 남는다.

그렇다고 아직 마무리되지 않은 작업을 그대로 commit을 할 수는 없다.
이렇게 무분별하게 commit을 하게 된다면 commit의 단위가 추적용이해지지 않기 때문이다.
이때 임시저장 용도로 stash가 필요하게 된다.

나의 아름다운 코드에 코드를 추가한다면?!


위 사진 처럼 git은 귀신같이 알아챈다.
여기서 작업 브랜치를 옮겨야 한다면 아까와 같이..
수치스러운 커밋내역이 남아버리니 git stash를 써보자!

오!! 브랜치 이동이 가능해진다!!
stash를 하면 제일 최근의 커밋내역으로 코드를 타임머신 태우고 저장되지 않은 내역은 stash라는 임시공간에 저장 해놓는 것!

내가 stash 했던 내용을 볼 수 있다!
급한 불을 끄고 다시 작업 브랜치로 가서 가장 최근 stash 가져 올 수 있다!


그럼 아까 내가 한 작업 그대로~!!

아까 stash list의 리스트 번호를 쓰면 특정 stash를 가져올 수 있다.
잘 쓰지는 않을 것 같다!
가장 최근 stash 지우기이다! stash는 쌓이면 좋지 않다고 하니 자주 지워주자!
stash list의 특정 stash를 지울 수 있다.
한번에 stash list의 모든 내용을 지울 수 있다.
쓰기전에 세번 생각하고 사용하기..
가장 최근 stash를 적용하고 동시에 stack에서 지워준다. (apply + drop)
stash와 stash pop을 가장 많이 사용할 것 같다!
stash 내역이 쌓이면 좋지 않으니 임시저장 후 바로바로 지우기!
불가피하게 stash를 쌓아둬야한다면 이름을 지어 쉽게 알아보자!
stash를 원하는 이름으로 정할 수 있다!!
git commit 할 때 의미없는 내용을 적지 말고
브랜치를 옮겨야 할 때는
git stash - git stash pop 두개를 애용하면 될 것 같다!!