通過git stash --help
進行讀取,根據版本1.7.10,根本無法做到您想要的操作。
--keep-index
就是保持索引。例如,讓我們從這種狀態開始:
$ date >> file1
$ date >> file2
$ git add file1
$ git status -s
M file1
M file2
如果你git stash --patch
現在並接受所有的變化,你會得到:
$ git status -s
MM file1
也就是說,指數被保留(使用--patch
時, --keep-index
自動開啓)。 git stash
解開了分階段的更改,但您可以使用git checkout file1
將它們還原,這要歸功於保留了索引。
現在讓我們藏匿返回前的狀態:
$ git stash pop
$ git checkout file1
$ git status -s
M file1
M file2
而且我們又藏匿不保持指數:
$ git stash --patch --no-keep-index
$ git status -s
$
任何一種,不分級的面積沒有變化,指數不見了。
因此,不能,您不能使用git stash --patch
來只存儲未分離的更改。如果你並不真的需要交互的選擇變化,那麼你可以你不想git add
變化添加,然後做git stash --keep-index
(不--patch
):
$ git status -s
M file1
M file2
$ git stash --keep-index
$ git status -s
M file1
通知不一致的行爲:沒有不分級這次更改爲file1
,與我們儲存--patch
時不同。
是的,那個不一致行爲是讓我認爲它會像' - patch'一樣工作的原因 – amindfv