当前位置: 首页 > news >正文

批量修改Git历史commit信息中的username

之前很长一段时间GitHub上的提交都在使用工作账户, 导致私人仓库中的提交者比较混乱. 在StackOver里面找到了一个bash脚本可以批量修改username, 在这里记录一下.

修改的步骤一共两步:

  1. 执行修改脚本
  2. 将本地修改同步到Git服务器

首先我们来看脚本:

#!/bin/shgit filter-branch -f --env-filter '
OLD_EMAIL="your-old@email.com"
CORRECT_NAME="correct-git-username"
CORRECT_EMAIL="your-new@email.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
thenexport GIT_COMMITTER_NAME="$CORRECT_NAME"export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
thenexport GIT_AUTHOR_NAME="$CORRECT_NAME"export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags

将脚本中的OLD_EMAIL, CORRECT_NAMECORRECT_EMAIL按照需要修改, 并将改脚本放到需要修改的项目的根目录下执行.
查看打印信息如果显示修改成功, 则执行git push -f即可将修改内容同步到Git服务器上.

如果想要了解更多关于Git的使用技巧, 可以查看我的技术博客-Git栏目.

http://www.lryc.cn/news/397202.html

相关文章:

  • LabVIEW与ABB工业机器人据监控
  • c++栈内存和堆内存的基本使用
  • 快速入门,springboot知识点汇总
  • Ubuntu20.04系统非root用户安装GAMIT10.71
  • stm32 开发板可以拿来做什么?
  • latex英文转中文word,及一些latex相关工具分享
  • EasyOCR: 简单易用的多语言OCR工具
  • arm架构安装chrome
  • ETAS工具导入Com Arxml修改步骤
  • Apache Kylin模型构建全解析:深入理解大数据的多维分析
  • element-plus的文件上传组件el-upload
  • 等保测评视角下的哈尔滨智慧城市安全框架构建
  • Java中的数据缓存技术及其应用
  • SQL 索引
  • free第一次成功,第二次失败
  • 各种音频处理器
  • 深度学习探秘:Transformer模型跨框架实现大比拼
  • 京准电钟:云计算中NTP网络时间服务器的作用是什么?
  • Apache中使用CGI
  • 宏任务与微任务对比【前端异步】
  • Autogen和LangGraph对比
  • uniapp vue3微信小程序如何获取dom元素
  • Mongodb索引使用限制
  • 阿里云通义千问开源两款语音基座模型分别是SenseVoice和CosyVoice
  • 第11章 规划过程组(二)(11.10制订进度计划)
  • 如何在Spring Boot中集成Hibernate
  • Grind 75 | 3. merge two sorted lists
  • MyBatis(35)如何在 MyBatis 中实现软删除
  • C# 预处理器指令
  • Perl编译器架构:前端与后端的精细分工