2014-11-21 43 views
0

我對Git for Windows有問題。爲什麼在切換分支後仍然可以看到本地修改?

我在一個項目中有兩個分支:mastermembership。問題是,當我修改membership分支中的文件並切換回master時,我仍然進行了修改。 membership分支是本地分支。

如果我在master是活動分支時提交,則更改將提交給主設備。如果我在membership是活動分支時推送,則會爲membership(這是我想要的)創建一個遠程分支。

我試過切換分支,但它沒有奏效。

+0

你是否在切換到'master'之前對''membership'進行了修改?否則它是預期的行爲。 – musiKk 2014-11-21 10:08:19

+0

我是他的助手。問題是,通常git要求在切換分支之前提交。這次它不是要求一些理由。 – Sefa 2014-11-21 10:24:06

+1

@vgSefa我認爲較新的git版本很聰明,因爲他們不會問結賬是否涉及衝突。它可以節省您在結帳周圍的存儲 - 取消存儲支架。 – musiKk 2014-11-21 10:26:44

回答

2

切換分支後仍然會看到本地修改,因爲Git不是惡意的。它沒有看似安全的命令,暗中破壞你的數據。破壞數據的命令是您可能合理期望破壞數據的命令。

如果您想完全擺脫本地未提交的修改,那麼您可以單獨使用以下命令:git reset --hard。爲了擺脫未提交的新創建的目錄和文件,請使用git clean -df

您可以在切換分支之前或之後執行此操作。

如果你不要想擺脫你的本地未提交的修改,如果你只是不希望它們成爲你的新分支的一部分,在切換分支之前提交或存儲它們。

+0

已投注「惡意」這個詞......以及精彩的解釋。 – 2014-11-21 10:16:08

+0

我注意到存儲可能導致跟蹤但未提交的文件'消失'。如果你忘記藏有藏品,這是否有點危險? – 2014-11-21 10:23:39

+0

@ AndyJ0076沒有比你忘記你在哪個分支上犯下的危險更危險,不是嗎?這些文件仍然存在,Git可以告訴你所有可用的分支,標籤和其他參考資料,包括存檔。 – hvd 2014-11-21 10:25:58

相關問題