据我所知,默认情况下,
cherry-pick
命令会将一个提交放置在当前分支的顶部。是否可以在 Git 中 cherry-pick
一个提交并将其放置在当前提交的下方?cherry-pick
命令会将一个提交放置在当前分支的顶部。是否可以在 Git 中 cherry-pick
一个提交并将其放置在当前提交的下方?在 cherry-pick 之后,您始终可以执行 rebase
。因此,它看起来应该像这样:
git cherry-pick <hash>
git rebase HEAD~2 -i
在变基窗口中交换提交顺序。
第二选项
如果您想要像您所说的那样仅解决一次冲突,可以采取冗长的方法。 删除当前提交,挑选另一个提交,然后再挑选最新的提交。
git log --oneline -1
<write_down_this_hash> description
git reset --hard HEAD~1
git cherry-pick <hash to cherry pick>
git cherry-pick <write_down_this_hash>
这里有另一种方法。假设您的历史记录如下:
A - B - D master, HEAD
\
C other
如果您想要在HEAD
之前挑选提交C
,以使得结果历史记录变为:
A - B - C' - D' master, HEAD
\
C other
然后你可以执行以下步骤:
git checkout HEAD^
将 HEAD
移动到提交 B
git cherry-pick other master
在提交 B
的基础上应用提交 C
和 D
git branch -f master HEAD
使 master
指向与 HEAD
相同的提交git checkout master
将 HEAD
移动到 master
D'
,因为它将是 D
的副本而不是原始的 D
。) - torek
git rerere
。 - Hasturkun