选择使用我们的或他们的 git 合并

4
我正在寻找一种合并策略,可以让我选择来自我的分支和传入更改的两个变化。在尝试通过不同线程搜索后仍无法弄清楚如何操作。
因此,我的repo中有多个分支。我需要将每个分支合并到本地主分支,然后再合并到远程等待代码审核员批准。为了实现这一点,我首先从主分支进行变基,然后进行快进式合并到主分支,这是标准工作流程。代码主要由配置文件组成,这些多个分支在非常相同的位置(例如添加新参数)具有代码更改,这些参数从未相同但位于同一位置。Git将它们触发为冲突,但我只想在变基期间选择我的分支中的两个更改以及来自主分支的更改。我知道其中存在风险,但我有一个验证脚本,可以检测重复项并在异常情况下通知我。
因此,最终目标是编写这些合并的脚本,并仅在验证脚本失败时进行干预。
感谢您的回复。

变更来自哪里?你已经将它们本地获取了吗?难道你不能从传入的分支合并到你的分支中吗? - grw
你能展示一下你想要实现的例子,并解释为什么你想要这样做吗? - svick
1
如果您遇到冲突,并且知道可以通过采用其中一个版本来解决冲突,那么您可以使用 git checkout --ours <path> 命令,但我不确定您是否真的处于这种情况。 - Cascabel
@Jefromi 是的,我确实会遇到冲突,而且我不想选择其中一个版本,而是想选择两个版本。也就是说,在合并后的冲突行中,将包括我们和他们的两行内容。 - manusR
所以,如果您想要的话,只需删除所有冲突标记即可。 - Cascabel
没错,最终我也做了同样的事情。我一开始在寻找一些合并策略/选项来帮我完成它 :) - manusR
1个回答

1

默认合并算法(及其各种策略)应该在默认情况下保留您的更改和传入的更改。
如“Git如何解决合并问题?”所述:

合并的重要部分不是如何处理冲突(如果它们有趣的话,需要由人类进行验证),而是应该将历史记录整合在一起,以便您拥有未来合并的新坚实基础。

换句话说,重要的部分是微不足道的部分:父级的命名和跟踪它们之间的关系。不是冲突。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接