我经常会有如下工作流程:
我无法使用git commit --amend
,因为它不是我需要更改的最新提交。将更改添加到第一次提交而不触及第二次提交的最佳方法是什么?
答案 0 :(得分:173)
您可以使用git rebase
来解决此问题。运行git rebase -i sha1~1
,其中sha1是您要更改的哈希值。找到要更改的提交,并将“pick”替换为“edit”,如rebase编辑器的注释中所述。当您从那里继续时,您可以编辑该提交。
请注意,这将更改该提交的sha1以及所有子项 - 换句话说,这会从该点向前重写历史记录。你可以破坏存储库这样做,但是如果你没有推动它,那就不是什么大不了的了。