zoukankan      html  css  js  c++  java
  • git批量修改push到远程的用户和作者信息

    git通过命令可以配置本地用户名和邮箱

    git config user.name 用户名
    git config user.email 邮箱

    查看本地用户名和邮箱

    git config user.name
    git config user.email

    修改已经push到远程的用户名和邮箱

    #!/bin/sh
    
    git filter-branch --env-filter '
    OLD_EMAIL="yy_z3em@163.com"
    CORRECT_NAME="xxxcxy"
    CORRECT_EMAIL="yy_z3em@163.com"
    
    if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
    then
        export GIT_COMMITTER_NAME="$CORRECT_NAME"
        export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
    fi
    if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
    then
        export GIT_AUTHOR_NAME="$CORRECT_NAME"
        export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
    fi
    ' --tag-name-filter cat -- --branches --tags

    执行脚本之前先更新代码。

    创建一个sh脚本,把上面命令粘贴到脚本里面,然后执行sh脚本。

    如果执行失败,需要删除 .git/refs/original目录。

    执行更新命令

    git pull --rebase

    然后再重新执行修改用户名的脚本

    脚本执行成功之后,提交代码到远程git仓库。

    git push origin --force --all

    到远程git仓库查看提交记录,提交人名字都修改了。

    批量修改push到远程的用户和作者信息结束。

    ----------

    ----------

    ----------

    修改全部的提交记录。

    #!/bin/sh
    
    git filter-branch --env-filter '
    CORRECT_NAME="xxxcxy"
    CORRECT_EMAIL="yy_z3em@163.com"
    export GIT_COMMITTER_NAME="$CORRECT_NAME"
    export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
    export GIT_AUTHOR_NAME="$CORRECT_NAME"
    export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
    ' --tag-name-filter cat -- --branches --tags

    以上脚本慎用,会把所有的提交记录都修改。

  • 相关阅读:
    Neural Collaborative Filtering 神经网络协同过滤
    pyspark(一) 常用的转换操作
    HO引擎近况20210315
    LeetCode–前 K 个高频元素
    常用十大算法(七)— 克鲁斯卡尔算法
    常用十大算法(六)— 普里姆算法
    LeetCode–数值的整数次方
    LeetCode–二叉树的层次遍历 II
    常用十大算法(五)— 贪心算法
    LeetCode–二进制中1的个数
  • 原文地址:https://www.cnblogs.com/se7end/p/12704976.html
Copyright © 2011-2022 走看看