如何修改特定提交?

内容来自 DOC https://q.houxu6.top/?s=如何修改特定提交?

我有以下提交历史:

  1. HEAD
  2. HEAD~
  3. HEAD~2
  4. HEAD~3

git commit --amend 修改当前的 HEAD 提交。但是我该如何修改 HEAD~3


请使用 git rebase。例如,要修改提交 bbc643cd,请运行以下命令:

git rebase --interactive bbc643cd~

请注意命令末尾的波浪号 ~,因为您需要将 bbc643cd 之前的提交应用到其上(即 bbc643cd~)。

在默认编辑器中,将提及 bbc643cd 的行中的 pick 修改为 edit

保存文件并退出。git 将解释并自动执行文件中的命令。您会发现自己回到了刚刚创建了 bbc643cd 提交的情况。

此时,bbc643cd 是您的最后一个提交,您可以 轻松地对其进行修正。进行更改后,使用以下命令提交它们:

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

然后,使用以下命令返回到先前的 HEAD 提交:

git rebase --continue

警告:请注意,这将更改该提交及其所有子提交的 SHA-1 ——换句话说,这将从该点开始重写历史记录。[如果您使用 git push --force 命令进行推送,可能会破坏存储库]。

posted @ 2023-10-30 21:55  小满独家  阅读(22)  评论(0)    收藏  举报