2

在我们的团队中,我们通常将所有任务推送到单独的分支中,然后发布经理审查这些分支并将它们合并到“主”分支中

有时团队成员忘记将他们的分支与主分支合并(在推送之前) - 所以我想做的是 - 在用户推送后输出一条消息“请与主分支合并” - 我假设我需要在后期检查一些东西 -在遥控器上接收挂钩..有一些例子吗?..或者我基本上应该做什么?

更新:主要原因 - 尽量减少潜在冲突的数量(因为提交者(而不是发布经理)将解决它们)

4

4 回答 4

2

如果git cherry new-branch master有任何输出,那么有人在推送之前没有变基。

于 2010-01-04T18:23:44.057 回答
1

我想通过“与 master 合并”,您实际上是指在 master 之上重新设置基准

每个开发人员都应该:

  • 拉主
  • 在推送之前将其分支重新设置在 master 之上

为了让发布管理器在审查分支后只进行快进合并。
如果出现任何类型的冲突,同一个发布经理应该通知开发人员,要求他(再次)拉出主人并做一个变基。
这样,只有开发人员负责解决冲突,而不是发布经理。

请参阅变基与合并


对于自动过程,我会使用中央更新钩子,它会尝试执行与 master 的合并,并检查“快进”是否是命令输出的一部分。如果没有,钩子将失败并带有git send-email.
我目前没有这样的脚本示例。

于 2010-01-04T07:38:45.017 回答
1

确实没有什么好的方法可以做到这一点。有很多并发症,最明显的一个是您的 rebase-from-master / push-to-master 操作不是原子的。即有人可能会在两者之间推动一些东西。我宁愿建议您看一下,例如Gitorious,它使发布管理器的工作变得更加容易。他可以轻松查看提交包含的内容,并且可以轻松接受/拒绝提交。

但是您可能会发现git-wtf很有帮助。如果您仍然坚持尝试自动化解决方案,它会展示如何将本地存储库与远程存储库进行比较。

于 2010-01-04T08:22:10.797 回答
0

你真的不想保持纵横交错的合并。要么主题分支应该合并到主分支,要么分支应该保持独立,主分支合并。

也许您正在寻找的是在被推送之前的分支在 master 上重新建立,以便最大限度地减少潜在冲突的数量,因为贡献者已经解决了其中的大部分问题。

于 2010-01-04T07:22:06.580 回答