Git合并并解决当前分支的任何冲突

时间:2009-11-05 22:37:34

标签: git merge branch conflict

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

我在两者中做了很多改动,现在我想把合并master变成bob来让他更新。唯一的问题是,如果发生冲突,我希望它能自动解析为bob。

我被推荐如下:

git checkout bob
git merge master -s ours

这不起作用,因为我甚至没有从master那里得到不冲突的更改。

请帮忙!

2 个答案:

答案 0 :(得分:1)

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

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

问题“How do I tell git to always select my local version for conflicted merges on a specific file?”通过合并驱动程序解释了如何做到这一点。

合并完成后,简单:

 git checkout master
 git rebase bob

允许主人的HEAD快进到bob之一。师父将从那里继续鲍勃的内容。

答案 1 :(得分:0)

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

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

Git的内置支持 emerge ,另一种Emacs合并模式,但我更喜欢 ediff