Git 重新排序提交其中一个是合并

Git 重新排序提交其中一个是合并,git,Git,我想重新排序两个提交,其中一个是合并。因此,我想从以下几点开始: A |\ B \ | \ C D 到 有可能而且安全吗?提交C和D已被推送,但A和B尚未被推送git-rebase-i似乎使每个提交只有一个父级…这应该可以工作: git reset --hard C git merge D git cherry-pick B 您必须重新执行合并,如下面Paul的回答所示。虽然git rebase有一个-p/--preserve merges选项,但将其与重新排序提交混合使用是不明智的,

我想重新排序两个提交,其中一个是合并。因此,我想从以下几点开始:

A
|\
B \
|  \
C   D

有可能而且安全吗?提交C和D已被推送,但A和B尚未被推送
git-rebase-i
似乎使每个提交只有一个父级…

这应该可以工作:

git reset --hard C
git merge D
git cherry-pick B
您必须重新执行合并,如下面Paul的回答所示。虽然
git rebase
有一个
-p
/
--preserve merges
选项,但将其与重新排序提交混合使用是不明智的,因此,最好手动执行。
git reset --hard C
git merge D
git cherry-pick B