我们维护的 Web 应用程序具有公共主分支和许多并行分支,每个安装一个,每个都有很少的特定更改。源代码在 git 中管理,当我们需要将功能和错误修复从主分支转移到并行分支时,它是一个了不起的工具。但是很少有敏感的文件和自动合并通常会产生不好的结果。因此,如果可以以某种方式标记它们,合并会容易得多,并且每次合并都会导致需要手动合并的冲突。
我搜索了一个答案:
- 我正在使用--no-commit和--no-ff合并选项,但它不一样。
- 在这里和这里有人问同样的问题,但没有解决方案。
- 类似的情况似乎是如何防止使用包含以下内容的 .gitattributes 合并文件:somefile.php merge=ours。我试图找到一些会产生冲突或强制手动合并的合并选项,但到目前为止没有找到。
- .gitattributes 包含:somefile.php -merge永远不会自动合并,因此会强制手动合并。这是 90% 的解决方案,但我寻求的是尝试自动合并并将其标记为冲突,无论它是否成功。但这迄今为止最接近解决方案。 (......感谢查尔斯贝利的澄清......)
- 有人建议编写自定义合并驱动程序(1 , 2),但如何做到这一点对我来说还很不清楚。
编辑:变体 4. 描述