업데이트 2 :
사람들 이이 답변에 대해 불평하는 이유를 잘 모르겠습니다. 완벽하게 작동하는 것 같습니다. 추출되지 않은 파일의 경우 -u
플래그를 추가 할 수 있습니다
전체 명령은 git stash --keep-index -u
다음 git-stash
은 도움말 의 일부입니다.
--keep-index 옵션을 사용하면 이미 인덱스에 추가 된 모든 변경 사항이 그대로 유지됩니다.
--include-untracked 옵션을 사용하면 추적되지 않은 모든 파일도 숨겨지고 git clean으로 정리되어 작업 디렉토리가 매우 깨끗한 상태로 유지됩니다. 대신 --all 옵션을 사용하면 추적되지 않은 파일과 함께 무시 된 파일이 숨겨지고 정리됩니다.
그리고 이것은 어떻게 보이는지에 대한 gif입니다.
최신 정보:
이것이 선택된 답변 임에도 불구하고 [아래 답변] (https://stackoverflow.com/a/34681302/292408)이 올바른 답변이라고 많은 사람들이 지적 했으므로 확인하는 것이 좋습니다.
나는 오늘 (31/1/2020) 내 대답을 git version에 대해 다시 테스트했으며 2.24.0
여전히 옳다고 생각하며 추적되지 않은 파일에 대한 작은 메모를 위에 추가했습니다. 작동하지 않는다고 생각되면 git 버전도 언급하십시오.
올드 답 :
경우 --keep-index
옵션을 사용, 이미 인덱스에 추가 된 모든 변경 사항이 그대로 남아 있습니다 :
git stash --keep-index
의 문서에서git-stash
:
부분 커밋 테스트
git stash save --keep-index
작업 트리의 변경 사항에서 두 개 이상의 커밋을 수행하고 커밋하기 전에 각 변경 사항을 테스트하려는 경우 사용할 수 있습니다 .
# ... hack hack hack ...
$ git add --patch foo # add just first part to the index
$ git stash save --keep-index # save all other changes to the stash
$ edit/build/test first part
$ git commit -m 'First part' # commit fully tested change
$ git stash pop # prepare to work on all other changes
# ... repeat above five steps until one commit remains ...
$ edit/build/test remaining parts
$ git commit foo -m 'Remaining parts'
그러나 단계적 변경 사항 만 시각적으로 확인하려는 경우 다음을 시도 할 수 있습니다 difftool
.
git difftool --cached
-k
옵션) 사용하기 번거 롭습니다.