[문제 상황]
한 브랜치에서 다른 브랜치로 옮기려면 워킹 디렉토리에 흔적이 있어서 커밋을 날리고 다른 브랜치로 이동 해야 한다.
하지만 커밋 날리기에는 흔적을 남기기 싫고 그냥 다른 브랜치에 이동하고싶을때가 있다.
그러면 어떻게 해야 할까?
[문제 해결방법]
git stash를 명령어 통해 워킹디렉토리를 깨끗이 저장 할 수 있다. 그래서 다른 브랜치로 쉽게 이동 할 수 있다.
→ 버전관리가 되고 있는 파일들만 가능
git stash
작업 도중 커밋을 할 수는 없는 상태지만, 브랜치 전환을 하거나 커밋 변경을 해야할때 임시적으로 저장할 수 있는 명령어
- commit되기 이전 작업 중 파일과 git add로 추가된 파일 까지 모두 stash 영역으로 저장되며 수정분량은 제거 된다
- 단, git add 명령어로 한번이라도 index 영역에 트래킹 된 파일만 stash영역으로 저장됨
- 새롭게 생성한 파일은 git add 후 git stash 명령어를 사용하거나 git stash -u 옵션을 같이 사용할 것
git statsh
git stash pop
git stash list
git stash
- git add` 명령어로 한번이라도 index 영역에 트래킹 된 파일을 기본 명칭으로 stash 임시 영역에 저장되고, 수정 분량은 제거됨
- 기본 명칭 WIP 로 저장됨
git stash -u
- 새롭게 추가한 파일도 함께 stash 영역에 저장
git stash save 명칭
- git stash 로 저장할 때 명칭을 주어 저장함
git stash list
- stash 한 기록을 리스트형태로 확인할수 있다.
- 명시적으로 삭제하지 않으면 남아 있음
git stash apply
- 가장 최근에 저장한 stash를 복원 한다.
git stash apply stash아이디
- stash아이디 는 git stash list 명령어를 실행하면 리스트 앞에 stash@{0} 이렇게 개별적인 id 값이 있는데 이를 적용한다.
- stash아이디 의 임시 저장이 복원된다.
git stash drop
- 가장 최근에 저장한 stash를 삭제 한다.
git stash drop stash아이디
- stash아이디의 리스트가 삭제된다.
git stash clear
- stash 기록이 모두 제거된다.
git stash pop
- stash를 복원하고 바로 제거 된다.
git stash branch
- Stash 할 당시의 커밋을 Checkout 한 후 새로운 브랜치를 만들고 여기에 적용 후 Stash를 제거
'Git' 카테고리의 다른 글
git merge (0) | 2020.10.30 |
---|---|
git checkout (0) | 2020.10.30 |
git branch (0) | 2020.10.30 |
git clone (0) | 2020.10.30 |
git pull (0) | 2020.10.30 |