Git分支切换不会更改代码文件夹文件

Ale*_*x J 9 git

这是对这个问题的跟进.

我使用git clone git@git.mytest.com:TEST命令克隆了远程主项目文件夹.从Git root,我做了一个cd Test命令进入该文件夹.然后我使用创建了一个分支git checkout -b myBranch.现在在git bash上它显示我在新分支中.我在Test文件夹中创建了一个test.txt文件,然后将我的分支切换为master.我仍然看到文本文件.不是Git不应该显示test.txt,因为它不是master的一部分.如果必须这样做,我是否需要在分支中提交我的更改.

我认为最初这可能发生了,因为它不是我的.net项目的一部分(我在主和分支中).但是当我尝试将文件添加到mybranch时也是如此.当我切换我的主人时,我仍然看到fie系统中文件夹的更改图标.

我错过了什么?谢谢你的帮助,因为我花了很多时间试图找出Git.每次我想我都拥有它,总有一些东西.

And*_*all 16

不,它不是你的master分支的一部分,但它不是任何一部分myBranch.它未被跟踪,因为您从未提交过该文件.跑步git status你会看到它被列为未跟踪.由于它从未上演或提交,Git不会(也不能)管理它的存在,因此无论如何它都会存在.

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

  • +1 git确实知道文件,你把它们放在它的*索引*中,但是它们不是*branch*的一部分,直到它们被放入`commit`中 (2认同)