언제 사용하는가?
branch의 작업이 끝나지 않았을 때 다른 branch로 checkout 해서 다른일을 해야하는 경우
이때 작업이 끝나지 않은 내용을 commit 하기 애매한 경우
stash를 사용하면 내가 작업한 내용을 어딘가에 숨겨놓을 수 있다.
git checkout -b "브랜치 명" : branch를 생성하고 checkout을 동시에 하는 명령어
상황
exp branch에서 f1.txt를 수정 후 add 하지 않은 상황에서
급하게 master branch로 checkout 해야하는 경우
현재 branch master
그럼 어떻게 할 것 인가? - Stash
git stash
현재 상태
아무것도 작업한 내역이 없어진다.
내가 수정했던 내용 또한 볼 수 없다.
감춰놓았던 내역을 복구
git stash apply
수정사항이 살아났다!
git reset --hard : 최신 커밋으로 reset
git stash apply : stash 상태로 복원
git stash list : stash 리스트 확인
f2.txt 생성 후 내용 작성
git stash 실행
f2.txt 는 맨 위의 것이다.
그리고 git apply를 적용하면 맨 위의 것부터 실행된다는 점에 유의하자
apply 이후 apply한 stash 내역을 삭제하고 싶을 때
git stash drop
또는
git stash apply; git stash drop;
위와같이 실행하면 적용과 삭제를 동시에 할 수 있다.
'Tool > Git' 카테고리의 다른 글
(GIT) Branch 충돌해결 (0) | 2019.12.25 |
---|---|
(GIT) Branch 병합 (0) | 2019.12.25 |
(GIT) Branch 정보확인 (0) | 2019.12.25 |
(GIT) Branch 만들기 (0) | 2019.12.25 |
(GIT) reset과 checkout의 원리 (0) | 2019.12.25 |