看来" git rebase"具有处理合并失败的其他后备逻辑:
Falling back to patching base and 3-way merge...
在那里做什么,我需要如何调用我的樱桃挑选以获得相同的行为?
可能正确的解决方案是不要试图将重生表示为一系列樱桃,但是如果可能的话,这是很好的流。
大多数 git rebase
命令实际上 do 运行 git cherry-pick
。
您看到的后备是从git rebase
的一种形式出现的,出于历史原因,不使用git cherry-pick
。当您调用A non - Interactive git-rebase
和时,使用该表单。
旧形式通常产生相同的效果。它包括使用git format-patch
将每个提交变成一个补丁,然后使用git am --3way
应用所有格式化的补丁。--3way
选项告诉git am
,如果无法盲目应用该补丁,则应在每个格式化的补丁中使用index
线,以实现git cherry-pick
将自动完成的部分。
如果您想直接使用git cherry-pick
,则可以:
- 提供
-k
选项或 - 提供
-m
选项或 - 提供
-s strategy
选项或 - 提供
-X extended-option
选项或 - 使用Interactive Rebase(
-i
或--interactive
(或 - 使用
--autosquash
选项或 - 使用
-p
或(git 2.18 (-r
选项。