2012-03-02 83 views
7

这是一个跟进this问题。Git分支切换不会更改代码文件夹文件

我使用git clone [email protected]:TEST命令克隆了远程主项目文件夹。从Git根目录,我做了一个cd Test命令进入该文件夹。然后我使用git checkout -b myBranch创建了一个分支。现在在git bash上,它显示我在新分支中。我在Test文件夹中创建了一个test.txt文件,然后将我的分支切换为主。我仍然看到文本文件。因为它不是主人的一部分,所以Git不应该显示test.txt。如果发生这种情况,我是否需要在分支中提交我的更改?

我最初以为这可能发生了,因为它不是我的.NET项目的一部分(我在主分支)。但是当我试图将文件添加到mybranch时发生了同样的情况。当我切换我的主人时,我仍然可以看到fie系统中文件夹的更改图标。

我错过了什么?感谢您的帮助,因为我花了很多时间试图找出Git。每次我想我都懂了,总会有一些东西。

+1

哈哈+1对于'每次我想我已经明白了,总有一些东西。'那就是GIT给你! – 2013-02-14 06:13:29

回答

14

不,它不是您的master分支的一部分,但它也不是myBranch的一部分。这是未跟踪,因为你从未提交过该文件。运行git status您会看到它列为未跟踪。由于它从来没有上演或承诺过,Git没有(也不能)管理它的存在,所以它不管。

此外,如果可以的话,修改后的文件保留在分支之间。否则Git会在切换有关脏工作树的分支时给您一个错误。这又是因为Git没有这些更改的内部副本,它们只存在于您的文件系统中,而不存在于Git中,直到它们被提交。

+2

+1只要你把'git add'(它放在它的*索引*中),Git就知道它们,但它们不是*分支的一部分,直到它们被放入'commit' – Gareth 2012-03-02 02:31:13

相关问题