git stash는 현재 작업 중인 변경 사항을 임시로 저장하고, 작업 공간을 깨끗하게 비울 때 사용하는 Git 명령어
git stash 를 사용할까?git pull을 하기 전에 변경 사항을 임시 저장해야 할 때git stash push -m "작업 내용 설명"
git checkout 다른브랜치이름

git stash는 기본적으로 추적되고 있는 파일만 저장
-> 새로 만든 파일들은 stash에서 제외되고 그대로 Changes에 남아있다
(새로 만든 파일 (= 아직 git add 안 한 파일들)은 무시됨)
git stash push -u -m "작업 내용 설명"
untracked 파일들도 같이 stash
-> -u (또는 --include-untracked) 옵션
| 목적 | 명령어 | 설명 |
|---|---|---|
| stash 목록 확인 | git stash list | 저장된 stash 목록 확인 |
| 가장 최근 stash 적용 | git stash apply | 가장 위에 있는 stash 적용 (삭제는 안 됨) |
| 특정 stash 적용 | git stash apply stash@{n} | 지정한 stash(stash@{n}) 적용 |
| 가장 최근 stash 복원 및 삭제 | git stash pop | 가장 최근 stash 적용 + 해당 stash 삭제 |
| 특정 stash 복원 및 삭제 | git stash pop stash@{n} | 지정한 stash 적용 + 해당 stash 삭제 |
| 가장 최근 stash 삭제 | git stash drop | 가장 최근 stash 삭제 |
| 특정 stash 삭제 | git stash drop stash@{n} | 지정한 stash 삭제 |
| 모든 stash 삭제 | git stash clear | stash 목록 전체 삭제 |
| stash 저장 (untracked 포함) | git stash -u 또는 --include-untracked | 추적되지 않은 파일도 포함하여 stash 저장 |