stash
- 워킹 디렉터리에서 수정한 파일을 저장
- modified이면서 tracked 상태의 파일
- staging area에 있는 파일
- 아직 끝내지 않은 수정 사항을 스택에 저장했다가 나중에 다시 적용
하던 일 stash하기
git stash
git stash push
- 스택에 새로운 stash 생성
- 워킹 디렉터리에 수정 중인 작업 지워짐
git stash --keep-index
- staging area에 있는 파일들은 stash하지 않음
git stash --include-untracked
git stash -u
stash 조회
git stash list
stash 적용
git stash apply <stash>
- 스택에 저장된 stash를 적용
- staged 상태의 파일을 staged로 자동으로 적용하지는 않음
- 스택에 저장한 브랜치가 아닌 다른 브랜치에서도 적용 가능
- 워킹 디렉터리가 깨끗하지 않아도 적용 가능
git stash
git stash pop
- 가장 최근 stash를 적용하고, 스택에서 제거
git stash apply --index <stash>
- 스택에 저장된 stash를 적용
- staged 상태의 파일을 staged 상태로 적용
git stash branch <브랜치>
- 브랜치를 새로 생성하여 stash를 적용
- 스택에 저장된 stash는 제거
stash 제거
git stash drop
워킹 디렉터리 청소하기
git clean
- 작업하고 있던 파일들을 삭제할 때 사용
- Merge나 외부 도구가 만들어낸 파일
- 이전 빌드 작업으로 생성된 파일
- 워킹 디렉터리 안의 추적하고 있지 않은 모든 파일 삭제
- 복원이 불가능하기 때문에 신중하게 사용
git stash –all
- 모든 파일을 워킹 디렉터리에서 지우고 stack에 stash로 저장
- 복구 가능
- 위의 명령어에 비해서 안전함
git clean -f -d
git clean -d -n
git clean -d -x