recordingbetter's devlog

Python, Django, DRF, Postgresql, AWS, Docker....

GIT Stash

27 May 2017


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에 있는 파일까지 삭제
blog comments powered by Disqus