Git命令修改上上次提交记录

Git命令修改上上次提交记录

场景:当前最新是第 1 次,上一次是第 2 次,上上次是第 3 次,需要改这条提交信息

理清逻辑可修改任意N次的提交记录

1. 执行交互式变基

HEAD~3 代表从当前往前选中 3 条提交(包含要修改的那条)

1
git rebase -i HEAD~3

2. 编辑弹窗

弹出编辑器后,找到目标提交那一行,把开头的 pick 改成 edit

1
2
3
pick 哈希1 最新提交
pick 哈希2 上一次提交
edit 哈希3 上上次提交 # 修改这里

保存并退出编辑器。

3. 修改提交文案

此时 git 停在目标提交,执行 amend 重写注释:

1
git commit --amend -m "fix(lint): resolve all vue/no-mutating-props violations"

4. 完成变基流程

1
git rebase --continue

5. 已推送到远程仓库

如果这条提交已经 push 到远端,改完本地历史后必须强制推送:

1
2
git push --force-with-lease 分支名
# --force-with-lease 覆盖远程分支前检查远程分支,避免误覆盖他人提交

重要提醒:

  1. 多人共用的主分支(main/master/develop)禁止强制推送,会覆盖别人代码;
  2. 仅自己独立开发的分支可以使用强制推送;
  3. 改写历史后所有提交哈希值会变更,线上 PR / 合并请求会异常。

补充:只改提交文字、不改动代码

全程不会修改任何业务代码,仅修改提交描述文本。

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2026 Outsrkem
  • 访问人数: | 浏览次数:

      请我喝杯咖啡吧~

      支付宝
      微信