首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Git - Cherry-Pick和冲突

Git - Cherry-Pick和冲突
EN

Stack Overflow用户
提问于 2013-11-07 15:46:19
回答 3查看 123K关注 0票数 61

有两个不同的git分支。其中之一是开发正在进行(Branch1)。

在其他分支中,一些PoC工作正在进行(Branch2)。现在,我想挑选从Branch1到Branch2的更改,以便Branch2是最新的。

现在,在选择了4或5个更改之后,我得到了一些合并冲突,并且我无法继续进行进一步的选择。

我是否需要在继续下一个樱桃-pick之前解决所有的冲突,或者我是否可以以某种方式将冲突解决推迟到我精心挑选所有更改(并一起解决所有冲突)?

此外,在这种情况下,是否建议进行樱桃选择或分支合并?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-11-07 17:44:10

在进入下一个

-pick之前,我需要解决所有的冲突

是的,至少在标准的git设置下是这样。你不能在有冲突的时候挑剔。

此外,一般来说,你拥有的越多,冲突就越难解决,所以通常情况下,逐个解决它们会更好。

也就是说,你可以一次精挑细选多个提交,这将会做你所要求的。例如,参见How to cherry-pick multiple commits。例如,如果一些提交撤消了较早的提交,这是很有用的。然后你会想要一次选择所有的东西,这样你就不必为以后提交撤销的更改解决冲突了。

此外,在这种情况下,建议进行樱桃挑选还是分支合并?

通常,如果你想让一个特性分支跟上主开发,你只需合并主->特性分支即可。主要的优点是,稍后的合并功能分支->主功能将不那么痛苦。

只有当您必须从feature分支中排除master中的某些更改时,樱桃拾取才有用。不过,这将是痛苦的,所以我会尽量避免它。

票数 43
EN

Stack Overflow用户

发布于 2013-11-07 15:51:51

在继续之前:

  • 安装正确的mergetool。在Linux上,我强烈建议您使用meld:

sudo apt-get安装meld

  • 配置您的mergetool:

git配置--global merge.tool meld

然后,按照以下方式进行迭代:

代码语言:javascript
复制
git cherry-pick ....
git mergetool
git cherry-pick --continue
票数 71
EN

Stack Overflow用户

发布于 2019-06-11 23:50:11

此外,为了完成@claudio所说的,在挑选樱桃时,你也可以使用merging strategy

所以你可以像这样的git cherry-pick --strategy=recursive -X theirs commitgit cherry-pick --strategy=recursive -X ours commit

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19830464

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档