Git Cherry Pick与冲突
有两个不同的git分支。在一个例子中,开发正在进行(Branch1) 在另一个分支中,一些PoC工作正在进行(分支2)。现在,我想挑选从Branch1到Branch2的更改,以便Branch2是最新的 现在,在进行了4或5次更改之后,我遇到了一些合并冲突,我无法继续进行进一步的更改 我是否需要在继续下一个樱桃选择之前解决所有冲突,或者我是否可以以某种方式推迟冲突解决,直到我樱桃选择所有更改(并一起解决所有冲突) 此外,在这种情况下,是否建议进行樱桃拾取或分支合并?在继续之前:Git Cherry Pick与冲突,git,cherry-pick,git-cherry-pick,Git,Cherry Pick,Git Cherry Pick,有两个不同的git分支。在一个例子中,开发正在进行(Branch1) 在另一个分支中,一些PoC工作正在进行(分支2)。现在,我想挑选从Branch1到Branch2的更改,以便Branch2是最新的 现在,在进行了4或5次更改之后,我遇到了一些合并冲突,我无法继续进行进一步的更改 我是否需要在继续下一个樱桃选择之前解决所有冲突,或者我是否可以以某种方式推迟冲突解决,直到我樱桃选择所有更改(并一起解决所有冲突) 此外,在这种情况下,是否建议进行樱桃拾取或分支合并?在继续之前: 安装正确的工具。
- 安装正确的工具。在Linux上,我强烈建议您使用meld:
sudo apt-get install meld
- 配置合并工具:
git config --global merge.tool meld
git cherry-pick ....
git mergetool
git cherry-pick --continue
在继续下一步之前,我需要解决所有冲突
樱桃采摘
是的,至少使用标准git设置。当存在冲突时,您不能随意挑选
此外,在一般情况下,冲突越难解决,所以通常最好逐个解决
也就是说,您可以一次选择多个提交,这将满足您的要求。见例。例如,如果某些提交撤消了以前的提交,这将非常有用。然后,您可能希望一次性挑选所有内容,这样就不必为以后提交时撤消的更改解决冲突
此外,是否建议在这种情况下进行樱桃采摘或树枝合并
案子
通常,如果您想使一个功能分支与主开发保持最新,只需合并master->featurebranch。主要的优点是,稍后的合并功能分支->主节点将大大减少痛苦
只有在必须从要素分支中排除主控形状中的某些更改时,樱桃拾取才有用。不过,这会很痛苦,所以我会尽量避免它。另外,为了完成@claudio所说的,当采摘樱桃时,你也可以使用
因此,您可以这样做
git cherry pick--strategy=recursive-X thethers commit
或git cherry pick--strategy=recursive-X ours commit
避免这些cherry pick冲突的一种可能方法是按照从最早提交到最新提交的顺序执行cherry pick,即基于提交日期。