首页 > 其他分享 >修改Git全部Commit提交记录的用户名Name和邮箱Email

修改Git全部Commit提交记录的用户名Name和邮箱Email

时间:2023-04-23 16:12:36浏览次数:47  
标签:GIT Git Name -- EMAIL git 邮箱 Commit CORRECT

当我们换邮箱了,想把已经提交过的 commit 的邮箱和用户名改成新的时候。

先把本地配置成新的

git config user.name '丁少华'
git config user.email '新邮箱@xx.com'

这时候就可以用下面的脚本代码了
在项目根目录下创建 email.sh 写入下面这段代码

#!/bin/sh

git filter-branch --env-filter '

OLD_EMAIL="旧邮箱@xx.com"
CORRECT_NAME="新用户名"
CORRECT_EMAIL="新邮箱@xx.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

OLD_EMAIL为旧的邮箱,CORRECT_NAMECORRECT_EMAIL为自己的新邮箱和用户名。

然后我们来执行一下这个email.sh文件即可

./email.sh

执行过程可能比较长

如果执行失败的话,执行一下这段命令

git filter-branch -f --index-filter 'git rm --cached --ignore-unmatch Rakefile' HEAD

这时候虽然本地修改成功了,但是你还没有推送到远程,所以再执行一下命令

git push origin --force --all

标签:GIT,Git,Name,--,EMAIL,git,邮箱,Commit,CORRECT
From: https://www.cnblogs.com/dingshaohua/p/17346820.html

相关文章

  • jquery validate 例子延伸--如何使用classname而不是name来验证
    可用例子一:底下内容摘自链接:http://jsfiddle.net/Nbcj9/ 可用例子二:底下内容摘自:http://jsfiddle.net/rq5ra/1/<formid="myform"><inputtype="text"name="field_1"class="num"/><br/><inputtype="te......
  • github的repository和star的区别
    在GitHub上,Repository(仓库)是一个用于存储、管理和共享代码的项目空间,而Star则是用户对某个项目的一个收藏行为。当您Star一个GitHub上的项目时,这个项目就会被添加到您的收藏列表中,您可以通过收藏列表方便地找到这个项目,也可以收到这个项目的更新通知。Star还可以反映出一个项目的......
  • Git clone 报错 Missing or invalid credentials
    https://juejin.cn/post/7062237873570840589git clone报错Missingorinvalidcredentials.Error:connectEACCES/run/user/1000/vscode-git-26b2d57ddf.sockatPipeConnectWrap.afterConnect[asoncomplete](node:net:1157:16){errno:-13,code:'EA......
  • 基于docker 安装的gitlab 升级
    gitlab升级背景现在的gitlab版本是13.0.1,目标是14.9.5因为,这个版本及以后支持禅道集成。升级过程先备份数据gitlab-rakegitlab:backup:create#有两个文件需要手工备份#gitlab.rb路径:/etc/gitlab/gitlab.rb#gitlab-secrets.json路径:/etc/gitlab/gitlab-secrets.js......
  • Hugging Face:机器学习领域的“GitHub”,价值20亿的AI界“笑脸顶流”
    原创|文BFT机器人01生成式AI竞争激烈,“技术寡头”引人忧横空出世的ChatGPT无疑是目前科技界最耀眼的“紫微星”。ChatGPT一经推出,便凭借其秒杀过往聊天机器人的“超级大脑”轰轰烈烈地占据了舆论场,在博得众多人工智能巨头的青睐,成为AI投资新风口的同时;ChatGPT在自然语言处理任......
  • git工作流
    如何将本地代码推送至相应github仓库:在GitHub上创建一个新的仓库。:在本地计算机上创建一个与GitHub仓库同名的文件夹并进入其中。打开终端或命令提示符,并使用以下命令将该文件夹初始化为Git仓库:gitinit将本地代码添加到Git管理中,您可以使用以下命令:g......
  • 解决国内 github.com 打不开的最最最准确方法
    https://blog.csdn.net/qq_41176055/article/details/128496628?ops_request_misc=&request_id=&biz_id=102&utm_term=github.com%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-1......
  • Gitee自动部署 cocoscreator web端
    Gitee自动部署参考文档:Gitee目前支持特性:推送代码到Gitee时,由配置的WebHook触发Jenkins任务构建。评论提交记录触发提交记录对应版本Jenkins任务构建提交PullRequest到Gitee项目时,由配置的WebHook触发Jenkins任务构建,支持PR动作:新建,更新,接受,关闭,审查通过,测试......
  • github 小技巧
    前言简单记一下github小技巧,因为经常忘。正文就是如何快速搜索到自己想找的项目。如果自己知道项目名,那么直接输入就可以搜索到。如果不是,那么一般要通过高级搜索。https://github.com/search/advanced内容不多说,进去就知道。文件查看技巧按t,可以进行文件搜索,方便......
  • git的使用教程
    git笔记:分布式版本控制工具,用来对软件开发过程中的源代码文件进行管理,通过git仓库来存储和管理这些文件,git仓库分为本地仓库和远程仓库,本地仓库:开发人员自己电脑上的Git仓库,远程仓库:远程服务器上的git仓库 commit:提交将本地文件和版本信息保存到本地仓库push:推送,将本地仓......