修改已提交至 Git 的 commit 作者名称和邮箱地址

前  言

在使用 Git 的过程中,由于种种原因,导致在配置完全局用户名和邮箱地址后,就进行了每个项目的提交。而实际上,各个项目有可能不属于同一个组织,有可能是工作中需要的公司用户名,有可能是自己参与的开源项目,需要用自己的用户名(至于用户名的自定义,在前一篇文章中已经提到过《Git 的多账户 SSH 配置》)。这篇文章就给大家分享一个,如何修改已提交至 Git 的 commit 的作者名称和邮箱地址。

修改已 commit 至 Git 的 author 和 email

网络上有各种覆盖提交或者恢复等的操作,实际操作起来可能导致其它的各种问题频现。对于修改已提交至 Git 的作者名和邮箱的方法,实际上在  中就已经提的非常清楚。

这里转述一下具体流程(Mac OS 下):

  1. 打开终端。
  2. 从需要修改 commit 的仓库,创建一个新的 bare 克隆。

git clone --bare https://github.com/user/repo.git

cd repo.git

替换上面命令中的 https://github.com/user/repo.git 和 repo.git 为你的代码仓库相应字符。

3. 复制下面的脚本,在 Mac OS 中新建一个 sh 文件。


#!/bin/sh

git filter-branch --env-filter '
OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_COMMITTER_NAME="$CORRECT_NAME"
export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
then
export GIT_AUTHOR_NAME="$CORRECT_NAME"
export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

将其中需要替换的部分替换为自己的即可:

  • your-old-email@example.com —— 替换为自己想要修给的 commit 中的邮箱地址
  • Your Correct Name —— 替换为需要使用的新的作者名
  • your-correct-email@example.com —— 替换为需要使用的新的 commit 邮箱地址

4. 在终端中运行刚才新建的 sh 文件。

如果遇到无法运行 sh 文件的提示,比如“Permission denied”,这时最有效的方法时改变此 sh 文件的读写属性,也就是在终端中使用 chmod 指令:

chmod 777 .sh文件

5. 运行完毕后,提交历史 commit 的修改至仓库,以便修改生效:

git push --force --tags origin 'refs/heads/*'

6. 最后,返回此 repo.git 文件夹的上一级目录,并删除之前操作过的 repo.git 文件夹:


cd ..

rm -rf repo.git

查看仓库中的历史提交记录,不出意外的话,相应的作者名和邮箱地址应该都改正过来了。

您可以选择一种方式赞助本站

支付宝转账赞助

支付宝扫一扫赞助

「评论总计:10 条」「访客:10 条」「站长:0 条」

  1. avatar

    学习一下,赞赞。

  2. avatar

    顶顶顶顶顶顶顶顶顶顶顶顶顶顶顶

  3. avatar

    感谢分享

  4. avatar

    朋友 交换链接吗

  5. avatar

    文章不错支持一下吧啊

  6. avatar

    文章不错支持一下吧

  7. avatar

    前来学习技术,虽然什么也看不懂

  8. avatar

    学习了,顶一个。

  9. avatar

    博主,本站已经完成了SSL证书的部署了,麻烦有空修改一下友链的前缀为https哦,谢谢了!

  10. avatar 32123

    友情链接申请
    网站地址:http://www.yuedudg.cn/ 360收录7000
    网站名称:动感博客网
    同意的话请到本站留言,
    同时也欢迎大家到本站申请友链,首页,内页 均可

评论加载中...

发表评论