为什么交互式反叛会一直在破坏我的提交?

时间:2015-09-22 18:47:44

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

让我们说我有以下三个提交:

c - Third Commit
b - Second Commit
a - First Commit

我使用以下命令来执行交互式rebase(如所描述的in another StackOverflow thread

$ git rebase --interactive bbc643cd^
     

在默认编辑器中,修改'选择'编辑'在您要修改其提交的行中。进行更改,然后使用之前的相同消息提交它们:

$ git commit --all --amend --no-edit
     

修改提交,然后修改

$ git rebase --continue

问题在于,有时候,当我完成时,提交已经被压缩成一次提交(最老的提交,在我的示例中为a)。

在解决合并冲突时似乎可能与某些事情有关,所以我怀疑在解决后我可能会继续错误。解决合并冲突后,我不确定是否只需要git rebase --continue$ git commit --all --amend --no-editgit rebase --continue。看起来在这两种情况下,我最后都合并了提交,但我不确定。

我做错了什么?

1 个答案:

答案 0 :(得分:4)

确实,正如Tobia Tesan在评论中所说,--amend选项将文件添加到上次提交而不是创建新文件。

如果放弃此选项,它应该可以正常工作。