• git批量处理git author和commit


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

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

  • 相关阅读:
    Java基础语法与变量初步学习
    Java基本数据类型转换
    Java变量常量与基本数据类型
    Java进制转换
    Java 开发环境配置
    Java运算符
    STL—vector删除重复元素
    子窗口和父窗口重绘
    怎么判断文件是否被占用
    多线程的理解
  • 原文地址:https://www.cnblogs.com/freephp/p/15361568.html
Copyright © 2020-2023  润新知