【Git】修改提交信息或作者信息(单次、批量)
2023年11月27日大约 1 分钟
修改最近一次 commit 的提交信息
# 修改提交信息
git commit --amend -m "new message"
# 修改作者信息
git commit --amend --author="New Author <new@example.com>"修改某次 commit 的提交信息
git log --oneline
运行结果如下
2f80f1b commit 4
9ee990a 第三次提交
40f2f03 commit 2
8ec9f83 first commit实战:将 9ee990a 的提交信息改为:commit 3
# 待修改提交的前一个提交的修订号
git rebase -i 9ee990a^
运行结果如下
pick 9ee990a commit 第三次提交
pick 2f80f1b commit 4进入编辑模式(按 i),将第一行的 pick 改为 e(方向键移动光标),保存退出(按 ESC,输入:wq,回车) 此时 git 会有如下提示
Stopped at 9ee990a... 第三次提交
You can amend the commit now, with
git commit --amend
Once you are satisfied with your changes, run
git rebase --continue由提示得知,先运行第一个命令修改提交信息
git commit --amend -m "commit 3"
# 若需要修改作者信息,执行以下命令
git commit --amend --author="New Author <new@example.com>"修改好后再运行第二个命令保存
git rebase --continue若要批量修改,那就将多个 pick 改为 e,然后依次按顺序重复以上两个命令
方法总结
修改最近一次提交信息,可以用 git commit --amend,也可以用git rebase -i <commit_hash>^,推荐使用前者,更方便
修改某次提交信息,用git rebase -i <commit_hash>^,pick 改为 e,再通过git commit --amend、git rebase --continue完成后续操作
批量修改提交信息,用git rebase -i <commit_hash>^,多个 pick 改为 e,再通过git commit --amend、git rebase --continue
完成多个后续操作
还可用git filter-branch -f --env-filter编写脚本完成批量修改