[Github 사용법 A to Z] 스태시: 로컬저장소에서 임시저장 (커밋 X)
git stash를 사용하여 저장하면, 스택(Stack) 으로 저장된다.
(가장 최근 임시저장된 리스트가 상위에 쌓임 )
1. git stash
: 임시저장
로컬 저장소 목록에 변경 사항을 임시 저장
git stash
git stash는 새로 생성된 파일들엔 적용안된다.
새로 생성된 파일도 임시저장하고 싶다면 git add 후 git stash 진행
git add .
git stash
2. git stash list
: 임시저장 리스트 확인
리드미 수정 => git stash => 리드미 수정 => git stash => 리드미 수정 => git stash
stash 총 세 번 후 git stash list로 저장 내역을 확인해보니 총 3개의 스태시 리스트가 나오는 것을 볼 수 있다.
스택형식으로 쌓인다했으니까 맨 위의 stash@{0}이 가장 최근 저장한 목록일 것임
3. git stash apply
: 저장된 내용 불러오기
스택으로 저장하기 때문에 계속 git stash를 한다면 git stash apply하는 시점에서 바로 직전에 한 git stash의 작업 내용이 불러올 것이다.
git stash apply

블로그 작성하면서 하다보니 마지막에 리드미를 뭐라고 수정했는지 기억안나서
(마지막 커밋) 이라고 입력하고 다시 git stash 한 다음 git stash apply 했음.
git stash apply 했더니 가장 최근에 저장했던 내역이 뿅 하고 튀어나옴
직접 실습해보면 알겠지만
리드미 파일에 (마지막 커밋) 이라고 입력 하고 git stash 하면 수정내역이 없어짐. ( 마지막 커밋 이라는 텍스트가 없어짐)
git stash apply(불러오기) 하면 마지막 커밋 이라고 입력했던 텍스트가 다시 튀어나옴.
(이건 그냥 직접 실습해보는 게 이해가 빠를 것 같음)
여기서 스태시 리스트에 이름을 주고싶다면
git stash -m 저장내역

이렇게 메세지를 입력 후 다시 git stash list를 보면 내가 입력한 메세지로 리스트가 보이기 때문에 구분이 잘되어진다.

최신 스태시를 가져오고 싶을 땐 git stash apply로 가져와졌지만
"마지막 저장내역" 이라는 특정 스태쉬를 가져오려면?
git stash apply stash@{1}
4. git stash drop
: stash 삭제
git stash drop stash@{3} // stash 3 삭제
drop 한 후 list 확인해보면 원래 스태시 리스트 6개에서 5개로 줄어든 것이 확인됨