git stash
명령이 변경 사항을 숨기지 만 작업 디렉토리에도 그대로 유지합니까? 그래서 기본적으로 git stash; git stash apply
한 단계에서?Git에서 작업 디렉토리의 변경 사항을 유지하면서 스태프가 변경됨
68
A
답변
67
,이 작업을 수행하는 또 다른 방법은 --keep-index
를 사용하여 모든 것을 숨기고 후 유지하려는 변경 무대,하는 것입니다 위의 명령은 modified-file.txt
을 포함하여 모든 것을 숨기지 만 해당 파일을 작업 디렉토리 및 스테이지에 남겨 둡니다. official Linux Kernel Git documentation for git stash
에서
:
--keep-index
옵션을 사용하는 경우, 이미 색인에 추가 된 모든 변경 사항이 그대로 남아 있습니다. 트릭은 '숨기고하지, 일이 있지만 FWIW 당신을 도울 수있다
27
git stash
다음으로 git stash apply
(git stash && git stash apply
)은 파일을 숨기고 바로 뒤에 숨김을 적용합니다. 그래서 결국 은밀한 곳에서 그리고 일하는 곳에서 당신의 변화를 가져올 것입니다. 원하는 경우 별칭을 만들 수 있습니다. 그냥 ~/.gitconfig
이 같은 것을 넣어 :
$ git add modified-file.txt
$ git stash save --keep-index
을 : 그것은 가치가 무엇인지를 들어
[alias]
sta = "!git stash && git stash apply"
2
: 당신은 당신의 처리에 태그 은닉을 커밋이 이제
git add -A
git commit -m "this is what's called stashing" (create new stash commit)
git tag stash (mark the commit with 'stash' tag)
git reset HEAD~ (Now go back to where you've left with your working dir intact)
그리고, 그것은 당신 만에게 어쨌든 git stash pop
을 할 수는 없습니다 패치를 생성하거나 거기에서 파일 등을 재설정하는 것과 같은 일을 할 수 있습니다. 작업 디렉토리 파일은 그대로 유지됩니다.
3
실용적으로 사용할 가능성이있는 답변이 약간 향상되었습니다.
$ git add modified-file.txt
(OR $ git add . ---- for all modified file)
$ git stash save --keep-index "Your Comment"
+1 어떻게 별칭을 만드는 지 말해 주면 – anthropomorphic
도 무엇입니까? 'git stash; git stash apply' 및'git stash & git stash apply'? – anthropomorphic
차이점은 ['&&'는 처음으로 0 상태 코드가 반환 된 경우에만 두 번째 명령을 실행합니다.] (http://linux-training.be/files/books/html/fun/ch11s04.html). – madhead