1

我创建了一个名为test.

git branch test
git checkout test

然后我做了很多改变。添加文件,更改文件等。

当我checkout master所有的分支更改仍然存在时。我以为代码会回到分支之前的状态?我没有正确理解分支概念吗?

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

4

2 回答 2

7

你从来没有提到提交,只是改变和添加。当您签出分支时,您尚未提交的任何更改都会随之发生。如果您希望更改保留在特定分支中,则必须在移动到其他分支之前提交它们。否则,如果您只是想暂时隐藏更改,您可以使用git stash将它们收起来并git stash pop稍后将它们带回来(在任何分支上)。

于 2013-03-02T20:21:58.277 回答
0

当您添加、更改等这些文件时,您提交了吗?如果你不提交它们然后移动到另一个分支,它们会和你一起出现。对于那些由于更改未完成而您不想提交的情况,您可以隐藏它们。使用 git stash 您将更改存储在 stash 部分中,您可以稍后在返回分支时将其取回

于 2013-03-02T20:25:01.423 回答