git stash 임시저장
- 현재 stage에 있는 작업중인 파일들을 임시저장해 두는 명령어
- stash : 넣어두다
Git을 사용할 때 기존 브랜치에서 작업을 하다가 다른 작업을 먼저 해야하는 상황을 마주할 수 있다.
- 개발중에 다른 브랜치로 이동해야 할 때
- 개발중에 hotfix가 필요할 때
- pull을 우선 받아야할 때
- 이전 커밋내용을 수정해야 할 때
이와 같이 작업 중에 다른 브랜치로 이동하려면 작업중이던 내용을 commit해야 한다.
하지만, stash 명령어로 작업내용을 임시저장하면 commit을 하지 않고도 가능하다.
Working Directory
에 있는 파일만 임시저장공간(스택)에 저장된다.
- 스택에 임시저장하기
$ git stash
$ git stash save {description}
- 임시저장 스택 리스트보기
$ git stash list
stash@{0}: WIP on master: 52976d1 admin auth
- 임시저장된 내용 적용하기 (스택에 계속 남아있음)
$ git stash apply stash@{index}
$ git stash apply # 가장 최근 stash내용 적용
- 임시저장된 내용 꺼내와서 적용하기 (스택에서 제거)
$ git stash pop stash@{index}
$ git stash pop # 가장 최근 stash내용 적용
- 임시저장된 내용 브랜치에 적용하기 (스택에서 제거)
-
feature/admin
브랜치에stash@{index}
적용
-
$ git stash branch feature/admin stash@{index}
- 임시저장 스택에서 제거
$ git stash drop stash@{index}
$ git stash drop # 가장 최근 stash내용 삭제
- 임시저장 스택 clear
$ git stash clear