修改git已提交的commit中提交者的用户名和邮箱

如下图中,将已经提交的commit中,用户名jincheng-demo,jincheng-demo01,以及邮箱jincheng@test.com,
修改为正确的用户名:jincheng,正确的邮箱:jincheng_921@163.com
在这里插入图片描述

步骤

  1. 打开git bash here 客户端
  2. 复制需要修改的项目的git地址
 git clone --bare https://gitee.com/xxxx/test01.git(这里替换成自己的git地址)
 cd test01.git (clone完成后,进入项目目录)
  1. 建议执行以下命令,查看当前的git提交后的用户名和邮箱
git config user.name
git config user.email
  1. 复制脚本,并修改成自己的信息,粘贴到git bash here客户端中,按enter执行
    OLD_EMAIL:原来的邮箱名称,这里我的是jincheng@test.com
    CORRECT_NAME:新的用户名称,我自己的是jincheng
    CORRECT_EMAIL:新的邮箱,jincheng_921@163.com
#!/bin/sh

git filter-branch --env-filter '

OLD_EMAIL="jincheng@test.com"
CORRECT_NAME="jincheng"
CORRECT_EMAIL="jincheng_921@163.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

执行后,如下图绿色框中的输出,如果项目本身提交次数很多,则需要等待全部执行完成

在这里插入图片描述
5. 上一条脚本信息执行完成后,执行一下git命令

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

查看提交的日志信息,用户名和邮箱已经修改过来了
在这里插入图片描述

git服务端也修改成功
在这里插入图片描述
6. 清理本地信息

cd ..
rm -rf test01.git

备注

  1. git clone --bare 没有clone项目的全部文件,所以修改完用户名和邮箱,可以直接清理掉
  2. 如果本地之前有clone过完整项目,建议直接清理掉,再重新clone.(我一开始直接pull,再push,发现本地历史记录又覆盖了之前修改的用户名和邮箱,清理掉,直接重新clone,就没有问题了)
  • 5
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值