我正在开发一个新功能。我需要修改现有代码库的两个不同部分,然后才能在第三个地方编写我的功能。
由于我们的代码审查策略是尽可能小地进行更改,因此我在不同的分支中进行了这两项更改。所以我的提交树看起来像
branch_1
/
remote/master
branch_2
branch_1和branch_2的上游都设置为远程/主(也就是说,我在两者上都git branch --set-upstream-to=remote/master
(。
到目前为止,一切顺利;同步远程/主服务器后,我可以做git pull --rebase
来更新每个分支。
但是,现在我想处理我的实际功能,这需要更改branch_1和branch_2。但是我希望在开发该功能时,branch_1和branch_2提示处的提交都会更新,因此我需要能够在更新时从branch_1和branch_2中提取更改。换句话说,我想要:
branch_1
/
remote/master feature
/
branch_2
在功能分支中,我希望看到branch_1和branch_2的最新更改,或者至少能够使用类似git pull
有什么办法可以做到这一点吗?
注意:我不能让branch_1 branch_2用作上游,反之亦然。我们使用的工具(Gerrit'srepo upload
(只是不支持它。
一旦您确定要交付的功能需要分支 1 和 2,一种可能的前进途径是合并两个分支,并从现在开始仅使用功能。
您只会在需要保持功能最新时变基。
如果没有,则需要重复合并到功能,如果功能具有自己的提交,这可能会影响来自两个分支的代码,这可能会有问题:可能会发生冲突(git rerere
可能有助于避免重复解决冲突(。这似乎过于复杂。