不使用反向补丁从分支中删除旧的 Git 提交记录?

9 浏览
0 Comments

不使用反向补丁从分支中删除旧的 Git 提交记录?

这个问题已经有了答案:

如何从一个分支中删除一个提交?

我有一个这样的主分支...

A -- B -- C -- D -- E -- HEAD

是否有任何命令可以删除其中的一个旧提交并保留其他提交,比如提交 C?

最终结果变成这样:

A -- B -- D -- E -- HEAD

我知道我们可以使用反向补丁,并应用一个反向补丁来删除提交 C,但树结构不会很清晰,看起来很笨重,即

A -- B -- C -- D -- E -- C(apply reverse patch) -- HEAD

有人知道吗?

admin 更改状态以发布 2023年5月22日
0
0 Comments

交互式变基可以使用,但需要使用单个命令进行:

git rebase --onto B C

仍然可以看到“交互式变基”答案上的评论。它们在这里也适用。

0
0 Comments

使用交互式变基。例如,要回退5个提交:

git rebase -i HEAD~5

然后在弹出的编辑器中,删除包含您要删除的提交的行。

0