Git-commit 后修改邮箱和姓名

Git-commit 后修改邮箱和姓名

困而学,学而知

这几天修改了好几次主题,但每次修改提交到远程仓库之后,都不是自己提交的。开始的时候,没有注意,今天再看git提交记录的时候,发现了这个问题。既然发现了,就得需要修改一下了。

这个解决方案是同时执行sh脚本来实现的。

修改需要强制推送 git push -f, 所以没有强推权限也就不用尝试了?

创建sh脚本文件

在项目仓库下面创建一个sh脚本,我们命名为edit_name_email.sh

#!/bin/sh
#
 
git filter-branch --force --env-filter '
    if [ "$GIT_COMMITTER_NAME" = "hshanx" ];
    then
        GIT_COMMITTER_NAME="hshanx";
        GIT_COMMITTER_EMAIL="hshanx@163.com";
        GIT_AUTHOR_NAME="hshanx";
        GIT_AUTHOR_EMAIL="hshanx@163.com";
    fi' -- --all

由于我是邮件信息错了,所以if [ "$GIT_COMMITTER_NAME" = "hshanx" ];这个地方是写的hshanx,但是我的理解这里应该是你仓库提交的旧用户名。 可以在评论中讨论。

给脚本赋权限并执行

chomd +x edit_name_email.sh

接下来执行脚本

./edit_name_email.sh

推送到远程仓库

git push -f 
## 也可以
git push origin master -f

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://baozi.fun/archives/git-commit-modify-email-name

Buy me a cup of coffee ☕.