3

所以我有我的主分支,还有分支'bob'。

我对两者都进行了很多更改,现在我希望将 master 合并到 bob 以使他保持最新状态。唯一的事情是,如果发生冲突,我希望它自动解决到 bob。

我被推荐了以下内容:

git checkout bob
git merge master -s ours

这不起作用,因为我什至没有从主人那里得到不冲突的变化。

请帮忙!

4

2 回答 2

1

首先,您需要合并从 master 到 bob 的所有更改:

  • 如果没有冲突,必须将来自 master 的所有修改添加到 bob
  • 任何冲突都必须通过保留 bob 分支的内容来解决。

问题“我如何告诉 git 始终为特定文件上的冲突合并选择我的本地版本? ”解释了如何使用合并驱动程序来做到这一点。

合并完成后,一个简单的:

 git checkout master
 git rebase bob

允许 master 的 HEAD 快进到 bob 的一个。大师将从那里继续从鲍勃的内容。

于 2009-11-05T23:14:29.483 回答
0

我看到了与我们的合并策略的差距。如果集成您自己的合并驱动程序太多,并且如果您喜欢 Emacs,请考虑使用ediff作为您的“合并工具”。你可以告诉它“更喜欢”你在冲突中的贡献。除了只关注有冲突的更改之外,您还可以在提交之前查看合并结果,以确保仅接受您的贡献仍然会产生一个连贯的文件。

不幸的是,ediff尚未集成为受支持的合并工具。2007 年 6 月 git 邮件列表上的这个线程描述了一些集成问题。是另一个。

Git 确实内置了对另一种 Emacs 合并模式 Emerge 的支持,但我更喜欢ediff

于 2009-11-07T01:13:58.457 回答