我正在开发一个系统,我正在跟踪另一个项目的路径,添加我自己的东西,但不是直接添加到原始项目。我用三个远程分支设置我的存储库:
我的工作流程理念是自动进行同步(因为它基本上是各种各样的快进),并且集成是半手动的(因为它需要合并和修复)。我已经涵盖了第一部分(同步),但我无法弄清楚将Master和Vendor集成到集成中的实际问题。
这是 git branch -a 的输出:
* integration
master
vendor
remotes/origin/HEAD -> origin/master
remotes/origin/integration
remotes/origin/master
remotes/origin/vendor
我如何从这一点前进到:
显然,如果我在工作流程中出现问题,我很乐意听到它。
答案 0 :(得分:2)
虽然integration
分支并非绝对必要(您可以直接将vendor
整合到master
,但可以在master
之上重新定位vendor
,可能很有用。
在分支A
中集成分支B
可以通过以下方式完成:
A
中合并B
(但这意味着您在B
中的任何当前开发都处于“暂停”状态,等待任何合并冲突的解决方案,并重新运行所有测试)B
(A
)之上重新定位git rebase A
,但这会改变B
的历史记录。我会在integration
之上重新定位Vendor
,解决那里的任何冲突,然后在integration
中合并master
,保持master
历史线性。< / p>