为什么我的两个本地分支机构不分开?

时间:2018-05-01 02:37:53

标签: git branch

我有问题理解为什么会这样。

我从branch1分支创建了一个新分支develop。进行了一些更改,然后在develop上创建了拉取请求。

然后,我从我工作过的branch2分支创建了develop

我现在需要对branch1进行一行更新 - 根据对Pull请求的一些建议 - 但是当我看到差异时,我注意到它包含branch2中的所有更改。

我原本预计它只会显示分支1的变化 - 即branch1branch2是分开的。

为什么会出现这种情况? 我需要做一些特定的事情吗?

1 个答案:

答案 0 :(得分:1)

根据您提供的信息,您有2个分支(确实彼此分开),并且您已在branch2上进行了更改,但希望修改branch1中的代码。

  

你的错误切换分支,而你修改了branch2中仍然被跟踪的文件,因此branch2与其HEAD提交不同,因此跟踪这些更改导致它们在branch1上工作后成为pull请求的一部分。

为了防止这种情况,您可以使用Git Stash将所有这些更改暂时放在其他位置,直到再次需要它们为止,允许您在branch1上工作,其中唯一跟踪的更改是对branch1的修改(作为branch2工作目录和索引是用git stash支持)

然而,听起来你正在使用IDE可能会为你掩盖很多这个过程,我建议你专门研究那个IDE的存储/分支切换,并尝试使用命令行Git只是为了诊断这样的问题(Git CLI经常提供提示和错误,帮助你理解为什么会发生这样的事情)。