Git 没有专门的历史编辑工具,但您可以使用它rebase来将一系列提交移回原来的位置,而不是其他地方。交互式导航可以通过添加一个选项-i来启动git rebase在你的情况下,你需要使用命令git rebase -i HEAD~2。
值得注意的是,无论您是否更改其中的消息,HEAD~2..HEAD 范围内的所有提交都将被重写。该命令将以相反的顺序打印提交。They start at the commit you specified.你需要编辑脚本,以便它在你想要编辑的提交处停止。为此,对于脚本应该停止的每个提交,将单词 pick 替换为单词 edit。
当您保存并退出编辑器时,Git 会将您回滚到列表中的最后一次提交并将您踢到命令行。
然后使用git commit --amend编辑提交并完成编辑提交使用git rebase --continue(可能要求合并)。
Git 没有专门的历史编辑工具,但您可以使用它
rebase来将一系列提交移回原来的位置,而不是其他地方。交互式导航可以通过添加一个选项-i来启动git rebase在你的情况下,你需要使用命令git rebase -i HEAD~2。值得注意的是,无论您是否更改其中的消息,HEAD~2..HEAD 范围内的所有提交都将被重写。该命令将以相反的顺序打印提交。They start at the commit you specified.你需要编辑脚本,以便它在你想要编辑的提交处停止。为此,对于脚本应该停止的每个提交,将单词 pick 替换为单词 edit。
当您保存并退出编辑器时,Git 会将您回滚到列表中的最后一次提交并将您踢到命令行。
然后使用
git commit --amend编辑提交并完成编辑提交使用git rebase --continue(可能要求合并)。第二种解决方案是--fixup 和--autosquash。更多细节在这里。