zoukankan      html  css  js  c++  java
  • 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
    
    

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

  • 相关阅读:
    6410实现网卡(DM9000A)收发功能及ARP协议实现
    Shuffling Machine和双向链表
    Have Fun with Numbers及循环链表(约瑟夫问题)
    Tiny6410 LCD设置
    RAM与内存
    inet_addr解析
    map容器find用法
    WinSock编程(TCP)
    Python 时间序列作图及注释
    无法打开之前cuda的vs项目,打开之后变灰色
  • 原文地址:https://www.cnblogs.com/freephp/p/15361568.html
Copyright © 2011-2022 走看看