2009-11-05 142 views
3

所以我有我的主分支,以及分支'bob'。Git合并并解决当前分支的任何冲突

我已经在两个方面做了很多改变,现在我想合并到bob的主人,让他更新。唯一的问题是,如果有冲突,我希望它自动解析为bob。

我已经提出以下建议:

git checkout bob 
git merge master -s ours 

这不工作,因为我甚至不得到主人不冲突的变化。

请帮忙!

+1

“我们”的合并策略意味着从我们的分支获取**版本**,而不是**解决冲突**,以支持我们的分支。 – 2009-11-06 22:50:11

回答

1

首先,你需要的所有更改合并来自大师鲍勃:

  • 从主所有的修改都必须被添加到鲍勃如果没有冲突
  • 任何冲突必须通过保持摆锤的内容来解决科。

问题“How do I tell git to always select my local version for conflicted merges on a specific file?”解释了如何使用合并驱动程序执行此操作。

一旦合并已经完成,一个简单的:

git checkout master 
git rebase bob 

允许主人的头快进到Bob的一个。师父将从那里继续从鲍勃的内容。

+0

我知道:在我之前对第一个问题的回答中,我已经提到了合并驱动程序,但它确实符合您当前的需求。 – VonC 2009-11-05 23:17:08

+0

使用合并驱动程序看起来像很多工作..我会认为会有这样的一些简单的命令。 我在哪里可以找到关于合并驱动程序良好toturial? – tybro0103 2009-11-06 06:00:02

0

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

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

混帐不附带内置支持出现,另一个Emacs的合并模式,但我更喜欢远ediff