在交互式变基中删除/删除当前提交

时间:2021-02-24 11:33:51

标签: git git-rebase git-interactive-rebase

我正在进行交互式 rebase 并标记了我需要使用 edit (e) 仔细查看的提交,同时在查看提交时我意识到一些提交需要删除/删除。在交互模式下,哪个是正确的提交?

目前我执行以下命令:

$ git reset HEAD^
$ git checkout -- <File> # <- here I list all of the files that need to be reset
$ git rebase --continue # this complains that I have to perform git commit --allow-empty or git reset
# since I don't want the empty commit I do …
$ git reset
$ git rebase --continue

这很长。所以我尝试了

$ git reset --hard HEAD^
$ git rebase --continue

但这会产生合并冲突。

那么,当处于交互式 rebase 的编辑模式时,删除当前提交的最简单方法是什么?

2 个答案:

答案 0 :(得分:1)

<块引用>

那么,当处于交互式 rebase 的编辑模式时,删除当前提交的最简单方法是什么?

对我来说,到目前为止,最简单的方法是记下我想要删除的提交(主题行和任何其他识别标记),完成交互式 rebase,然后开始一个新的交互式变基并将提交标记为“丢弃”。没必要一下子搞定!

答案 1 :(得分:0)

如果你 git reset --hard 你也会丢失当前提交的更改,因此我认为是冲突。相反,您可以使用

进行混合重置
git reset HEAD^

并使用当前提交中的更改修改最后一次提交:

git add your_changes
git commit --amend -m "new commit message"