我有问题理解为什么会这样。
我从branch1
分支创建了一个新分支develop
。进行了一些更改,然后在develop
上创建了拉取请求。
然后,我从我工作过的branch2
分支创建了develop
。
我现在需要对branch1
进行一行更新 - 根据对Pull请求的一些建议 - 但是当我看到差异时,我注意到它包含branch2
中的所有更改。
我原本预计它只会显示分支1的变化 - 即branch1
和branch2
是分开的。
为什么会出现这种情况? 我需要做一些特定的事情吗?
答案 0 :(得分:1)
根据您提供的信息,您有2个分支(确实彼此分开),并且您已在branch2上进行了更改,但希望修改branch1中的代码。
你的错误是切换分支,而你修改了branch2中仍然被跟踪的文件,因此branch2与其HEAD提交不同,因此跟踪这些更改导致它们在branch1上工作后成为pull请求的一部分。
为了防止这种情况,您可以使用Git Stash将所有这些更改暂时放在其他位置,直到再次需要它们为止,允许您在branch1上工作,其中唯一跟踪的更改是对branch1的修改(作为branch2工作目录和索引是用git stash支持)
然而,听起来你正在使用IDE可能会为你掩盖很多这个过程,我建议你专门研究那个IDE的存储/分支切换,并尝试使用命令行Git只是为了诊断这样的问题(Git CLI经常提供提示和错误,帮助你理解为什么会发生这样的事情)。