项目正在扩大,我们有几个分支机构可以开展未来的工作。
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等)
问题:
如何为将来的所有发行分支自动完成合并过程?我读到有关在服务器上实现git receive挂钩的信息,但不清楚如何处理冲突。有人可以指出我正确的方向吗?还是显示一些具体示例或方法来合并所有开发分支?
首先,请确保您发现自己解决了相同的冲突,然后尝试激活git rerere
(“ re使用re编码的re解决方案”)。
git rerere
它将为您记录那些冲突解决方案。
[从git config --global rerere.enabled true
查看“ Fix conflicts only once with git rerere”的更多信息
[如果您希望rerere来自动暂存已解决的文件(我愿意),您可以要求它:您只需要像这样调整配置:
Christophe Porteneuve
第二,最好使用要素分支(尽可能彼此独立),然后在one集成分支(git config --global rerere.autoupdate true
分支)中合并您可以在dev