git修改历史提交中的名称或邮箱地址
如果仅修改前一次的提交
可以在修改好配置后,使用 git commit --amend
命令重新提交。
具体如下:
1 | $ git config user.name "新的名称" |
需要修改历史中的多个提交
将以下内容复制到一个文件中,如 change-committer.sh。
将文件放到要修改的git仓库中,运行 bash change-committer.sh
。
1 |
|
根据情况也可以用提交人名称来检索替换,比如用 OLD_NAME="要替换的名称"
替换 OLD_EMAIL="将要被替换的邮箱地址"
再用 if [ "$GIT_COMMITTER_NAME" = "$OLD_NAME" ]
替换 if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
。
而具体要替换 提交人(committer) 或 作者(author) 或两者都要替换,根据情况来保留下面这部分内容
1 | # 提交人 |
注意
git历史记录的修改是一个较为危险的操作,尤其是多人协作,还要修改已提交到远程仓库的历史时。
重写历史会导致与远程的历史提交冲突,无法再正常提交到远程仓库,只能通过强制覆盖提交。
一旦出现问题,他人无法再撤销找回历史。
所以一定要慎重再慎重。