批量修改Git历史commit信息中的username
之前很长一段时间GitHub上的提交都在使用工作账户, 导致私人仓库中的提交者比较混乱. 在StackOver里面找到了一个bash脚本可以批量修改username, 在这里记录一下.
修改的步骤一共两步:
- 执行修改脚本
- 将本地修改同步到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_NAME和CORRECT_EMAIL按照需要修改, 并将改脚本放到需要修改的项目的根目录下执行.
查看打印信息如果显示修改成功, 则执行git push -f即可将修改内容同步到Git服务器上.
如果想要了解更多关于Git的使用技巧, 可以查看我的技术博客-Git栏目.
相关文章:
批量修改Git历史commit信息中的username
之前很长一段时间GitHub上的提交都在使用工作账户, 导致私人仓库中的提交者比较混乱. 在StackOver里面找到了一个bash脚本可以批量修改username, 在这里记录一下. 修改的步骤一共两步: 执行修改脚本将本地修改同步到Git服务器 首先我们来看脚本: #!/bin/shgit filter-branch…...
LabVIEW与ABB工业机器人据监控
1. 前言 随着工业自动化的发展,工业机器人在制造业中的应用越来越广泛。为了实现对工业机器人的高效监控和控制,本文介绍了利用OPC(OLE for Process Control)服务器将ABB工业机器人与LabVIEW连接起来的解决方案。通过OPC服务器…...
c++栈内存和堆内存的基本使用
c栈内存和堆内存的基本使用 #include <iostream>// 定义一个简单的结构体 struct Person {std::string name;int age; };int main() {// 栈内存分配int a 10; // 基本数据类型的栈内存分配Person person; // 结构体的栈内存分配person.name "John";person.a…...
快速入门,springboot知识点汇总
学习 springboot 应该像学习一门编程语言一样,首先要熟练掌握常用的知识,而对于不常用的内容可以简单了解一下。先对整个框架和语言有一个大致的轮廓,然后再逐步补充细节。 前序: Spring Boot 通过简化配置和提供开箱即用的特性,…...
Ubuntu20.04系统非root用户安装GAMIT10.71
(测试环境:20240701升级包和20240701数据,解算通过) QQ:8212714 群:302883438群文件(source安装包20240701升级包) 1、首先在计算机中安装VMware Workstation 16 Pro。建议:分配…...
stm32 开发板可以拿来做什么?
STM32开发板可以用来做许多不同的事情,具体取决于您的应用需求和编程能力。我收集归类了一份嵌入式学习包,对于新手而言简直不要太棒,里面包括了新手各个时期的学习方向编程教学、问题视频讲解、毕设800套和语言类教学,敲个22就可…...
latex英文转中文word,及一些latex相关工具分享
前言:想要转换latex生成的英文pdf文件为中文word文件 一、主要步骤 1、文字翻译:直接使用谷歌翻译等辅助将英文翻译成中文即可; 支持英文pdf文件全文翻译,再用迅捷PDF转换器之类的转成word,再手动调整。 https://app…...
EasyOCR: 简单易用的多语言OCR工具
EasyOCR: 简单易用的多语言OCR工具 1. 什么是EasyOCR?2. 使用场景3. 基本使用方法安装示例代码代码解释 4. 结语 1. 什么是EasyOCR? EasyOCR是一个基于Python的开源光学字符识别(OCR)工具,它支持80多种语言的文本识别。该项目由JaidedAI开发,旨在提供一个简单易用但功能强大…...
arm架构安装chrome
在ARM架构设备上安装谷歌软件或应用通常涉及到几个步骤,这取决于你要安装的具体谷歌产品,比如谷歌浏览器、Google Play服务或者是其他谷歌开发的软件。下面我会给出一些常见的指导步骤,以安装谷歌浏览器为例: 在Linux ARM64上安装…...
ETAS工具导入Com Arxml修改步骤
文章目录 前言Confgen之前的更改Confgen之后的修改CANCanIfComComMEcuM修改CanNmCanSMDCMCanTp生成RTE过程报错修改DEXT-诊断文件修改Extract问题总结前言 通讯协议栈开发一般通过导入DBC实现,ETAS工具本身导入DBC也是生成arxml后执行cfggen,本文介绍直接导入客户提供的arxml…...
Apache Kylin模型构建全解析:深入理解大数据的多维分析
引言 Apache Kylin是一个开源的分布式分析引擎,旨在为大数据提供快速的多维分析能力。它通过预计算技术,将数据转化为立方体模型(Cube),从而实现对Hadoop大数据集的秒级查询响应。本文将详细介绍Kylin中模型构建的全过…...
element-plus的文件上传组件el-upload
el-upload组件 支持多种风格,如文件列表,图片,图片卡片,支持多种事件,预览,删除,上传成功,上传中等钩子。 file-list:上传的文件集合,一定要用v-model:file-…...
等保测评视角下的哈尔滨智慧城市安全框架构建
随着智慧城市的兴起,哈尔滨作为东北地区的重要城市,正在积极探索和实践智慧城市安全框架的构建,以确保在数字化转型的过程中,既能享受科技带来的便利,又能有效防范和应对各类网络安全风险。 本文将从等保测评的视角出…...
Java中的数据缓存技术及其应用
Java中的数据缓存技术及其应用 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿! 在现代应用程序中,数据缓存是一种重要的技术手段,用于提…...
SQL 索引
一、索引的基本概念 **索引(Index)**是数据库中一种特殊的数据结构,用于帮助数据库管理系统(DBMS)快速访问数据表中的特定信息。索引类似于书籍的目录,可以加快数据检索的速度。 二、索引的作用 提高查询…...
free第一次成功,第二次失败
问题描述: 在一个函数中存在free,第一次进入此函数没有问题,但是第二次出错 strncpy(pdd_all_data[i].sensor_name,white_list[j].dev_name,strlen(pdd_all_data[i].sensor_name)); 上面代码都是使用strncpy不小心导致double free or corrup…...
各种音频处理器
在HiFi(高保真)音频系统中,通常需要使用一些特定类型的音频处理器,以确保音频信号的高保真和优质输出。以下是一些常见的音频处理器类型及其在HiFi系统中的应用: DAC(数模转换器): …...
深度学习探秘:Transformer模型跨框架实现大比拼
深度学习探秘:Transformer模型跨框架实现大比拼 自2017年Transformer模型问世以来,它在自然语言处理(NLP)领域引发了一场革命。其独特的自注意力机制为处理序列数据提供了全新的视角。随着深度学习框架的不断发展,Tra…...
京准电钟:云计算中NTP网络时间服务器的作用是什么?
京准电钟:云计算中NTP网络时间服务器的作用是什么? 京准电钟:云计算中NTP网络时间服务器的作用是什么? NTP是一种用于同步网络中设备时间的协议,广泛用于互联网和局域网中。NTP网络时间服务器则是基于NTP协议构建&…...
Apache中使用CGI
Apache24 使用Visual Studio 2022 // CGI2.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 // #include <stdio.h> #include <stdlib.h>#include <stdio.h>void main() {//设置HTML语言printf("Content-type:text/html\n\n&q…...
【管理科学】【财务领域】第四十九篇 企业资本通过金融工具获取资本与通过制造舆论冲突吸引注意力01
企业资本运作与注意力经济融合模型分析 本模型旨在揭示企业如何将金融资本杠杆与注意力经济策略相结合,以实现资本扩张与用户习惯的深度绑定。 编号 类型 企业资本注意力经济和长期购买/消费习惯培养模型 逐步推理思考的方程式 时序数学方程式 交互周期和交互流程的数学…...
告别配置烦恼!用VS2019属性表一键搞定OpenCV 4.3环境(附常见错误排查)
告别配置烦恼!用VS2019属性表一键搞定OpenCV 4.3环境(附常见错误排查) 在计算机视觉开发中,OpenCV无疑是最受欢迎的库之一。然而,对于许多开发者来说,配置OpenCV环境往往成为项目开始前的第一道门槛。特别是…...
解析2026年三星SDI化学价格趋势与一级代理市场定位优势
2026年三星SDI化学工程塑料价格预计整体稳中有升,涨幅在5%-8%区间,主要受高端产能集中、环保成本增加及新能源需求拉动影响。作为华南区域一级代理商,宏裕塑胶凭借源头直采与技术赋能双优势,可为下游企业提供稳定供应与15%-20%的采…...
跟着 MDN 学 HTML day_34:(深入XML 中的 CDATASection 接口)
在 Web 开发的学习旅程中,我们大部分时间都在与 HTML 打交道。然而,当涉及到数据存储、配置文件或 RSS 订阅时,XML 依然扮演着不可或缺的角色。今天,我们将聚焦于 XML 世界中一个看似不起眼但在特定场景下极其有用的接口ÿ…...
如何解决分布式团队实时协作难题:Etherpad的3大技术架构创新与实践指南
如何解决分布式团队实时协作难题:Etherpad的3大技术架构创新与实践指南 【免费下载链接】etherpad Etherpad: A modern really-real-time collaborative document editor. 项目地址: https://gitcode.com/gh_mirrors/et/etherpad 在当今分布式协作成为常态的…...
ThinkPad风扇终极静音方案:TPFanCtrl2智能温控神器深度解析
ThinkPad风扇终极静音方案:TPFanCtrl2智能温控神器深度解析 【免费下载链接】TPFanCtrl2 ThinkPad Fan Control 2 (Dual Fan) for Windows 10 and 11 项目地址: https://gitcode.com/gh_mirrors/tp/TPFanCtrl2 夜深人静,你正专注地敲击代码&#…...
手把手教你用checksts.py脚本,提前给VMware vCenter的STS证书做‘体检’(避坑指南)
企业级vCenter运维:STS证书主动检测与全生命周期管理实践 当vCenter突然弹出503 Service Unavailable错误时,多数运维团队的第一反应是检查服务状态和网络连接,却很少有人会想到——这可能是由那个"沉默的定时炸弹"STS证书过期引发…...
Vivado携手Modelsim:跨越版本鸿沟的仿真实战指南
1. 为什么需要Vivado与Modelsim联合仿真? 刚接触FPGA开发的朋友可能会疑惑:Vivado明明自带仿真工具,为什么还要折腾第三方工具?这个问题我十年前刚开始用ISE套件时就深有体会。Vivado Simulator虽然集成度高,但存在几…...
别再死记硬背公式了!手把手教你用AP法搞定LLC变压器磁芯选型(附Excel计算表)
告别公式恐惧!AP法实战指南:LLC变压器磁芯选型极简流程(附智能计算工具) 在电源设计领域,LLC谐振变换器因其高效率、软开关特性备受青睐,但变压器磁芯选型往往成为工程师的"拦路虎"。传统方法需要…...
Horos终极指南:免费开源的macOS医疗影像查看器
Horos终极指南:免费开源的macOS医疗影像查看器 【免费下载链接】horos Horos™ is a free, open source medical image viewer. The goal of the Horos Project is to develop a fully functional, 64-bit medical image viewer for OS X. Horos is based upon Osir…...
