最近在做自己项目的时候,由于使用了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

总结一下,如果存在多个不同组织的项目(公司、个人、开源),需要在每个所属组织的项目中单独设置本地设置,避免使用全局配置导致信息混乱。当然批量处理也算是一个不错的补救方法,相关命令非常实用。

最新文章

  1. jexus5.8.2 linux x64专业版 配置https
  2. [转载]PV操作简单理解
  3. 2016huasacm暑假集训训练五 F - Monkey Banana Problem
  4. term2 配置
  5. css实现一个写信的格式
  6. ubuntu 14.04安装mysql server &amp; mysql client
  7. SQL学习记录
  8. plsql自定义快捷键
  9. 在linnux下,配置自动备份oacle
  10. 关于document.write
  11. jQuery遮罩层的实现
  12. poj 2079 Triangle(旋转卡壳)
  13. python 基础,包括列表,元组,字典,字符串,set集合,while循环,for循环,运算符。
  14. AOP-----动态代理(转)
  15. ASP.NET 创建WebService——简单例子
  16. Linux下的tar压缩解压缩命令详解(转)
  17. Vue和后台交互的方式
  18. python3 urllib 类
  19. 51 nod 1212 无向图最小生成树(Kruckal算法/Prime算法图解)
  20. BZOJ.4543.[POI2014]Hotel加强版(长链剖分 树形DP)

热门文章

  1. Qt 中的属性系统(Property System)
  2. 【C#】Enum,Int,String的互相转换 枚举转换
  3. 统计MySQL数据库硬盘占用量大小
  4. 如果服务器数据更新了,CDN的数据是怎么及时更新的
  5. 多源最短路径,一文搞懂Floyd算法
  6. MySQL高可用主从复制部署
  7. vue 手机号码隐藏中间
  8. kubernetes部署一个应用程序
  9. MybatisPlus(一)——
  10. PyCharm——滚动鼠标调整字体大小