git批量处理git author和commit
2024-10-19 12:11:49
最近在做自己项目的时候,由于使用了git全局配置的用户名和邮箱,导致自己私人的仓库里面的所有提交记录都是用的公司的邮箱和用户名,于是想批量替换一下。
可以在需要修改的项目的根目录下使用如下命令,进行批量替换:
git filter-branch -f --env-filter \
"GIT_AUTHOR_NAME='freephp'; GIT_AUTHOR_EMAIL='fightforphp@gmail.com';" HEAD
然后再强制推送给远程:
git push origin -f branch_name
之后还要对这个项目进行本地化配置用户名和邮箱,命令如下:
git config user.username "freephp"
git config user.email "fightforphp@gmail.com"
从此之后再进行提交,提交信息中的用户名和邮箱就是新设置的了。
再使用git log命令,可以看到新提交的提交记录如下:
commit f237a55237ecceb7f837bae0bedde2b927451a07
Author: freephp
<fightforphp@gmail.com>
Date: Wed Sep 29 19:06:19 2021 +0800
改动部分逻辑和修复更新bug
总结一下,如果存在多个不同组织的项目(公司、个人、开源),需要在每个所属组织的项目中单独设置本地设置,避免使用全局配置导致信息混乱。当然批量处理也算是一个不错的补救方法,相关命令非常实用。
最新文章
- jexus5.8.2 linux x64专业版 配置https
- [转载]PV操作简单理解
- 2016huasacm暑假集训训练五 F - Monkey Banana Problem
- term2 配置
- css实现一个写信的格式
- ubuntu 14.04安装mysql server &; mysql client
- SQL学习记录
- plsql自定义快捷键
- 在linnux下,配置自动备份oacle
- 关于document.write
- jQuery遮罩层的实现
- poj 2079 Triangle(旋转卡壳)
- python 基础,包括列表,元组,字典,字符串,set集合,while循环,for循环,运算符。
- AOP-----动态代理(转)
- ASP.NET 创建WebService——简单例子
- Linux下的tar压缩解压缩命令详解(转)
- Vue和后台交互的方式
- python3 urllib 类
- 51 nod 1212 无向图最小生成树(Kruckal算法/Prime算法图解)
- BZOJ.4543.[POI2014]Hotel加强版(长链剖分 树形DP)