当我们尝试切换源树中的分支时,本地代码会发生什么?

Viv*_*vek 7 git github atlassian-sourcetree

我正在使用源代码树,并且必须在本地分支和 master 分支,当我将分支从本地切换到 master 并使用 Visual Studio 打开解决方案时,我发现一些文件丢失了,我不确定当我们切换时本地代码会发生什么分支机构,请帮我解决这个问题。

ret*_*eto 6

当你切换一个分支时,所有在 Git 控制下的文件都将被新分支的状态替换。这包括对文件的更改以及添加和删除。

请注意,这是一个普通的 Git 功能,与 Sourcetree 没有任何关系(UI 只是git co在后台执行命令)

在您的情况下,这意味着您当前的“本地”分支中有一些文件在主分支中根本不存在。您可以通过将“本地”分支合并到主分支来获得它们。

这些文件被 Git“隐藏”,可以通过切换回你的分支来显示。


小智 5

代码中的更改将存储在您的分支中,每当您再次切换到旧分支时,您都可以获得代码。一般来说,如果你想在分支之间切换,你只需提交并将其与 master 合并即可。

希望您的问题得到解决

  • 本地分支更改将*仅*在提交或隐藏时才会被存储,例如。如果它们被提交,那么它们在结帐之前*已经存储*。这就是为什么如果存在修改的文件将被覆盖, git checkout 将不会继续(除非强制)。 (2认同)