将提交完全拉入另一个分支(不合并)
Pull a commit into another branch exactly (without merging)
我有一个类似于下面的结构:
C1 -- C2 -- C3
\ -- C4
我想把 C3
拉回到 C4
之上。 (注意:C3
& C3a
保留存档文件)
C1 -- C2 -- C3
\ -- C4 -- C3a
如果我尝试合并或拉取,我只会被告知我已经是最新的了。
如何强制 're-merge' 以便我可以 C3
回到顶部?
如果我没理解错的话,你可以使用 git cherry-pick 将你的 C3
提交移到 C4
的顶部
在您当前的分支中,我认为您不能这样做,因为 C3 已经合并到该分支中。
您可以尝试在新分支上挑选提交,这应该会产生预期的结果:
首先,创建新分支:
git checkout -b new_branch <C1>
现在在此 new_branch 上挑选 C4:
git cherry-pick C4
现在在 new_branch 上挑选 C#:
git cherry-pick C3
以上应该在 new_branch
:
中给出期望的结果
C1 -- C2 -- C3
\-- C4 -- C3
我有一个类似于下面的结构:
C1 -- C2 -- C3
\ -- C4
我想把 C3
拉回到 C4
之上。 (注意:C3
& C3a
保留存档文件)
C1 -- C2 -- C3
\ -- C4 -- C3a
如果我尝试合并或拉取,我只会被告知我已经是最新的了。
如何强制 're-merge' 以便我可以 C3
回到顶部?
如果我没理解错的话,你可以使用 git cherry-pick 将你的 C3
提交移到 C4
在您当前的分支中,我认为您不能这样做,因为 C3 已经合并到该分支中。
您可以尝试在新分支上挑选提交,这应该会产生预期的结果:
首先,创建新分支:
git checkout -b new_branch <C1>
现在在此 new_branch 上挑选 C4:
git cherry-pick C4
现在在 new_branch 上挑选 C#:
git cherry-pick C3
以上应该在 new_branch
:
C1 -- C2 -- C3
\-- C4 -- C3