让我们说我有以下三个提交:
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-edit
和git rebase --continue
。看起来在这两种情况下,我最后都合并了提交,但我不确定。
我做错了什么?
答案 0 :(得分:4)
确实,正如Tobia Tesan在评论中所说,--amend
选项将文件添加到上次提交而不是创建新文件。
如果放弃此选项,它应该可以正常工作。