-
stash
stash: 감추다
(한창 A브랜치에서 작업하다가 B브랜치로 checkout하여 작업 할 일이 생길 때!! A를 commit하긴 조금 애매할 때!!)
1) master branch에서 f1.txt 생성 후 commit
2) exp branch 생성하여 f1.txt 수정
** 이 때 HEAD를 master branch로 옮기고 git status를 하면 master branch에서도 f1.txt가 수정상태로 뜬다
이렇 때 사용하는게 git stash
3) git stash를 적용하면 working directory, index, WIP (work in process: 현재 작업중인 것 )이 저장되었다고 나온다
4) 다시 git status를 치면 아무것도 안뜸
5) 다른 branch에서 작업을 마무리 하고 exp로 돌아와 이전 작업을 꺼내올 때는 git stash apply 사용
6) git stash list는 현재 저장되어있는 list를 보여준다. 이 list는 명시적으로 삭제하지않는이상 사라지지않는다
*** git reset --hard를 적용하여 지워도 git stash apply 를 사용하여 저장된 정보를 가져올 수 있다
git stash list에 두개 이상의 정보가 있을 때는 0번째에 가까울수록 가장 최근에 저장한 정보이다.
따라서 git stash apply를 하게되면 0번째 정보부터 가져오게 됨
7) git stash apply를 사용하여 정보를 가져온 후 git stash drop를 하면 list에서도 사라진다
8) apply 로 불러오고 drop로 지우려면 두번 명령을 내려야해서 번거로울 때 git stash pop 사용!
9) 두개의 파일 중 하나만 git add된 상태일 때 git stash를 하면 추적중인 파일만 stash 가능하다!
출처: 생활코딩
'git' 카테고리의 다른 글
reset/checkout (0) 2019.12.06 merge/conflict (0) 2019.12.05 branch (0) 2019.12.02 index / object (0) 2019.12.02 commit / log / diff / reset (0) 2019.12.02