什么是在各种期货分支机构工作并自动同步的好设置



项目越来越大,我们有几个集成分支:

  • master->发布代码
  • develop->即将发布的代码
  • develop-8_6->代码将在某个时候作为8.6版本发布
  • develop-8_7->代码将在某个时候作为8.7版本发布
  • develop-8_8->代码将在某个时候作为8.8版本发布
  • develop-8_9->代码将在某个时候发布为8.9版本
  • develop-8_10->代码将在某个时候作为8.10版本发布
  • 等等

作为集成分支,每个分支必须包含以前分支的所有更改。此外,每个分支都接收来自开发人员的拉取请求(例如dev/8_7featureX(。每个功能分支都必须经过审查,合并它通常只是gitlab/github中的一个按钮。这里没问题。我的痛点是将一个集成分支合并到另一个develop->develop-8_6->develop-8_7->...

到目前为止,我一直在手动合并所有分支,有时很容易,有时由于冲突等原因需要时间。但这是无休止的,我认为拥有几个集成分支是Gitlab等大型项目的常见方法。

问题:

如何为所有未来发布的分支自动完成集成分支合并过程?我读过关于在服务器上实现gitreceivehook的文章,但不清楚如何处理冲突。有人能给我指正确的方向吗?或者展示一些具体的例子或方法来合并所有开发分支?

换句话说,Gitlab项目中的人是如何处理这么多集成分支的?他们是如何实现自动化的?(或者这是手动完成的?(

首先,如果您发现自己正在修复相同的冲突,请确保尝试激活git rerere(">re使用re有线resolution"(。

git config --global rerere.enabled true

这将为您记录这些冲突解决方案。

请参阅Christophe Porteneuve 的"使用git-reere只修复一次冲突">

如果你更喜欢重新读取它解决的自动暂存文件(我愿意(,你可以要求它:你只需要像这样调整你的配置:

git config --global rerere.autoupdate true

其次,最好使用功能分支(尽可能独立(,然后在中合并一个集成分支(dev分支(
您可以在gitworkflow(一个词(中看到一个示例

最新更新