Chr*_*tze 1 git git-rebase git-cherry-pick
似乎“ git rebase”具有其他后备逻辑来处理合并失败:
Falling back to patching base and 3-way merge...
Run Code Online (Sandbox Code Playgroud)
它在那里正在做什么,我将如何调用我的樱桃小贴士来获得相同的行为?
可能正确的解决方案是不尝试将重新基准表示为一系列的小问题,但如果可能的话,那将是很好的,因为我可以使用相同的流程处理重新基准和任意更改集合。
git rebase实际上,大多数命令都可以运行git cherry-pick。
您看到的后备广告是从一种形式发生的git rebase,由于历史原因,它没有使用git cherry-pick。当您调用非交互式git-rebase 并且不使用任何使其使用新的和改进的rebase-invoking方法的选项时,将使用该格式。
旧形式通常会产生相同的效果。它包括git format-patch用来将每个提交变成补丁,然后git am --3way用来应用所有格式化的补丁。该--3way选项告诉git am,如果不能盲目套用补丁,它应该使用的index线路在每个格式化补丁来实现的哪一部分git cherry-pick 会已经自动完成。
如果您想git cherry-pick直接使用变基,则可以:
-k选项,或者-m选项,或者-s strategy-X extended-option-i或--interactive),或--autosquash选项,或-p或(Git 2.18+)-r选项。