Git merge / cherry-pick问题

时间:2011-07-21 08:24:08

标签: git

我正在使用git进行大型遗留项目,该项目有两个分支--v1.0和v2.0。每个分支的来源在不同的地方是非常不同的,在其他地方是相同的。当我修复v1.0分支时,我必须使用git cherry-pick将它们添加到v2.0分支,因为git merge 1.0基本上会删除v2.0源代码的大部分内容。

但是,新开发已在v1.0上停止,并且使用git cherry-pick将修复程序复制到v2.0分支是很麻烦的。我宁愿以某种方式告诉git当我从1.0开始git merge时 - > 2.0仅从1.0提交历史中的特定点开始合并(即新开发停止时)。这可能吗?它允许我对v1.0源进行多次修复,并在一次点击中将更改合并到v2.0中,而不是使用多个樱桃选择。

1 个答案:

答案 0 :(得分:3)

从2.0分支执行

git merge --strategy=ours v1.0

我没有亲自测试过,所以先尝试一下不重要的东西,但是从文档来看,它正是你需要的。

来自文档:

  

这会解析任意数量的头,但会生成合并的树   总是那个当前的分支头,实际上忽略了所有   来自所有其他分支的变化。它意味着用来取代   边支的旧发展史。请注意,这是不同的   从-Xours选项到递归合并策略。

相关问题