2013-03-02 52 views
1

我創建了一個叫test的分支。爲什麼不從分支切換回主更改我的文件?

git branch test 
git checkout test 

然後我做了一堆改變。添加文件,更改文件等。

當我checkoutmaster所有的分支變化仍然存在。我認爲代碼會回到我分支之前的樣子?我沒有正確理解分支概念嗎?

我使用Visual Studio和這裏找到Git的插件:http://visualstudiogallery.msdn.microsoft.com/63a7e40d-4d71-4fbb-a23b-d262124b8f4c

回答

7

你從來不提犯,只有改變和添加。當您簽出分行時,您沒有提交的任何更改都會與您同行。如果您希望更改留在特定的分支中,您必須在轉移到其他分支之前提交它們。否則,如果您只是想暫時隱藏更改,則可以使用git stash將它們收起並將它們帶回(在任何分支上)以及git stash pop

+0

啊,好的。我從未做過任何事情。謝謝。 – 2013-03-02 20:27:19

+0

One nit:這並不是說他們「跟着你」,新的文件對git來說完全是未知的,它根本不會觸及它們。如果你改變了一些git知道的文件,你可以切換分支,並且修改後的文件保持原樣(與主分支上原始文件的更改沒有衝突),現在可以在那裏提交。 – vonbrand 2013-03-03 03:27:21

+0

@ vonbrand:的確如此。我試圖不去深入研究似乎是初學者水平問題的雜草。 – 2013-03-03 04:43:19

0

當你添加,更改等這些文件你犯了嗎?如果你不提交它們,然後移動到另一個分支,它們隨你一起。對於那些你不想提交的情況,因爲沒有完成更改是你有可能把它們存儲起來。使用git stash將更改存儲在存儲區域中,並且可以稍後在回到分支時將它們還原回去

相關問題