修改Git所有提交记录中的作者和邮箱

前言

C: 上一篇,笔者介绍了怎么修改 Git 最后一次提交的作者和邮箱信息。那如果你是已经提交了很多次的记录,难道一个个的回退过去修改吗?显然不可能,所以本篇笔者带着大家认识一下如何批量修改 Git 提交记录中的作者和邮箱信息。

问题解决

解决方法其实就是编写一个脚本来进行批量替换。

  1. 新建一个 sh / bat 格式的脚本文件(如果你是在 cmd 中执行,那就用 bat 格式,如果是在 git bash 中执行就用 sh)

  2. 复制下方脚本内容到脚本文件中,然后编辑替换好错误邮箱、正确作者和邮箱(如果是在 cmd 中执行,#!/bin/sh 就替换为 #!/bin/bat)

    #!/bin/sh
    
    git filter-branch --env-filter '
    WRONG_EMAIL="错误的邮箱"
    NEW_NAME="正确的作者名"
    NEW_EMAIL="正确的邮箱"
    
    if [ "$GIT_COMMITTER_EMAIL" = "$WRONG_EMAIL" ]
    then
        export GIT_COMMITTER_NAME="$NEW_NAME"
        export GIT_COMMITTER_EMAIL="$NEW_EMAIL"
    fi
    if [ "$GIT_AUTHOR_EMAIL" = "$WRONG_EMAIL" ]
    then
        export GIT_AUTHOR_NAME="$NEW_NAME"
        export GIT_AUTHOR_EMAIL="$NEW_EMAIL"
    fi
    ' --tag-name-filter cat -- --branches --tags
    
  3. 保存脚本

  4. 将脚本文件放到要批量修改提交记录的 Git 仓库中(根目录就行)

  5. 执行脚本

随后你就会看到,先是提示一个 warn 警告,然后它会一条条的修改以往提交记录,如果错误的提交比较多,那就耐心等一会儿吧。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
修改git用户名和邮箱,有两种方法可以实现。 方法一是使用命令来修改git的用户名和邮箱。如果你要修改当前全局的用户名和邮箱,可以使用以下命令: git config --global user.name "你的目标用户名" git config --global user.email "你的目标邮箱名" 如果你只想修改当前项目的用户名和邮箱,可以使用以下命令: git config user.name "你的目标用户名" git config user.email "你的目标邮箱名" 方法二是通过直接修改git的配置文件来进行修改。你可以通过以下步骤来实现: 1. 打开全局的.gitconfig文件,可以通过命令"vi ~/.gitconfig"来打开该文件。 2. 在文件找到对应的用户名和邮箱字段,直接修改为你希望的用户名和邮箱。 3. 保存文件并退出。 另外,如果你想修改当前项目的配置文件,该文件位于每个项目的.git目录下。你可以进入该目录,找到config文件进行编辑。如果在该文件没有对应的用户名和邮箱字段,你可以手动添加。 请注意,修改用户名和邮箱后,你需要重新提交你的更改,才能在提交记录显示正确的用户名和邮箱。 希望以上信息对你有所帮助!<span class="em">1</span><span class="em">2</span> #### 引用[.reference_title] - *1* [Git 修改用户名以及邮箱](https://blog.csdn.net/risingfine/article/details/83378605)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [Git修改用户名和邮箱的方法(附Git常用命令)](https://blog.csdn.net/Sherlooock/article/details/107068965)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

查尔斯-BUG万象集

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值