5

我正在开发一个系统,我正在跟踪另一个项目的踪迹,添加我自己的东西,但不直接添加到原始项目中。我用三个远程分支设置了我的存储库:

  1. 大师 - 我的发展发生的地方。
  2. 供应商 - 我定期与原始项目同步的地方。
  3. 集成 - 我想将(主)和(供应商)合并在一起。

我的工作流程想法是自动进行同步(因为它基本上是一种快进),并且集成是半手动的(因为它需要合并和修复)。我已经涵盖了第一部分(同步),但我无法弄清楚实际发出什么命令来将 Master 和 Vendor 集成到集成中。

这是git branch -a的输出:

* integration
  master
  vendor
  remotes/origin/HEAD -> origin/master
  remotes/origin/integration
  remotes/origin/master
  remotes/origin/vendor

我如何从这一点前进到:

  1. 将此工作区与远程存储库同步?
  2. 将供应商和大师合并到集成中?
  3. 将集成推送回远程存储库?

显然,如果我的工作流程有问题,我很想听听。

4

1 回答 1

2

虽然integration分支不是绝对必要的(您可以直接集成vendormaster中,通过master在 之上重新定位vendor),但它可能很有用。

可以通过以下方式将分支集成到分支A中:B

  • 合并(但这意味着您当前的任何开发都A“暂停”,等待任何合并冲突的解决,以及所有测试的重新运行)BB
  • 以( )B为基础,但这会改变的历史。Agit rebase AB

我会integration在 之上重新定位Vendor,解决那里的任何冲突,然后合并integrationmaster保持master历史线性。

于 2011-10-31T06:51:46.070 回答