Git未提交文件在所有分支中可见的原因咨询
问题原因解析
这是因为未提交的新文件属于Git工作区的未跟踪内容,不属于任何分支的版本控制范围,具体细节如下:
- Git对文件的管理分为三个核心区域:工作区、暂存区、版本库。你创建的
TestClass.cs还停留在工作区,既没通过git add加入暂存区,也没通过git commit提交到对应分支的版本库中。 - 分支切换操作只会同步版本库和暂存区里已被Git跟踪的文件内容,对于工作区里未被跟踪的新文件,Git不会在分支切换时对它们进行隐藏或删除,所以不管切换到哪个分支,这些文件都会保留在本地工作目录里,自然能看到。
验证与解决方法
- 你可以在任意分支执行命令
git status,会看到这个文件被标记为Untracked files,这就证明它不属于当前分支的版本内容。 - 如果想让这个文件仅属于test分支,需要切换回test分支,执行
git add TestClass.cs将文件加入暂存区,再执行git commit -m "新增TestClass.cs类"提交到test分支的版本库中,之后切换其他分支就看不到这个文件了。
内容的提问来源于stack exchange,提问作者Foreastbtch
相关产品推荐
相关产品推荐

