GIT Stash
Stashing
$ git stash
$ git stash save
- tracked, modified 파일들을 staging area에 임시로 보관
- git status에는 commit 한 것 처럼 나옴.
stash list
$ git stash list
stash apply
$ git stash apply //가장 최근의 stash를 적용한다. (modified/added)
$ git stash apply stash@{1} //1번 stash를 적용한다. (modified/added)
stash apply –index
$ git stash apply --index //가장 최근의 stash를 적용한다. (staged)
stash drop 삭제
$ git stash drop stash@{1} //해당 stash 삭제
$ git stash pop stash@{1} //해당 stash를 적용하고 바로 삭제
stash (일부 파일만 커밋하고 나머지는 나중에 처리하고 싶을때)
$ git stash --keep-index
- 이미 staged된 파일은 stash하지 않음
stash including untracked files
$ git stash --include-untracked
$ git dtash -u
stash를 적용한 브랜치 만들기
$ git stash branch [branch name]
- stash 이후 modified가 생겼을때 stash 당시의 commit을 checkout 한 뒤 새로운 브랜치를 만들고 적용한다.
working directory의 파일 지우기
$ git clean // working directory의 untracked 파일 삭제
$ git stash -all //파일 삭제 전에 stash 한다.
$ git clean -f -d //-f 강제로 -d 하위폴더까지
$ git clean -n //삭제될 파이을 미리 보여줌. 실제 삭제되진 않음,
$ git clean -x //.gitignore에 있는 파일까지 삭제