2016-06-21 35 views
7

我並不擅長git,但我一直在使用它幾年。最近我注意到一些與存儲有關的奇怪行爲。它似乎只是部分爲我工作。如何讓git存儲包含尚未上演的新文件?

例如,今天我試圖隱藏4個未提交的更改。 1個文件被添加到存儲中,其餘3個作爲未提交的更改保留。嘗試了幾次,在第一次嘗試後,我剛剛得到「沒有本地保存更改」,但狀態仍顯示出3個未提交的更改。

但巧合的是,我發現,當我第一次展示先前不可褪色的變化時,它們將被正常保存。我已經玩過了,這是可重複的:如果所有更改都未提交,只有一個更改被隱藏。如果「問題」變化進行,那麼所有變化都將被隱藏(無論「好」變化是否被展示,它都會被隱藏)。

這是一個錯誤還是我做錯了什麼?

我使用Git for Windows 2.8.2和Git Extensions 2.48.05。

無論我試圖通過Git Extensions GUI還是通過控制檯存儲更改都無關緊要。

編輯:如果我在存儲前進行所有4個更改,當我執行存儲彈出時,3個問題更改如前所述進行,但總是存儲的好改變未提交。所以隱藏的流行音樂不會將其狀態轉移到存儲之前的狀態。這也是可重複的。

+4

也許沒有被分級的文件不被Git跟蹤?試試'git stash -u' –

+2

@ Jonathan.Brink:這就是答案。不存儲的更改是新文件,尚未跟蹤。我設置了-u標誌,他們沒有任何問題地隱藏起來。如果你想做出答案,我會接受它。 –

回答

13

問題似乎是,默認情況下,stash命令將不包含未跟蹤文件。

要包括未跟蹤文件,使用-u--include-untracked)標誌:

git stash -u 

如果--include-未經跟蹤選項時,所有未跟蹤文件 還藏匿,然後清理與git乾淨,離開工作 目錄在一個非常乾淨的狀態。

+5

正如在[此早期的問題](http://stackoverflow.com/questions/835501/how-do-you-stash-an-untracked-file)的答案中提到的,使用'git stash -u' ** will [永久刪除被忽略的文件夾](https://gitlab.com/tortoisegit/tortoisegit/issues/1200)** – phillchill

相關問題