Attention

仓库邮箱地址( GitHub 账户邮箱)和提交邮箱不一致会导致不记录进当前账户的 Contributions。

  1. clone 远程仓库后在本地仓库中创建一个脚本文件 email.sh,内容如下(修改5,6,7行的内容)。
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #!/bin/sh

    git filter-branch --env-filter '

    OLD_EMAIL="原邮箱地址"
    CORRECT_NAME="自定义用户名"
    CORRECT_EMAIL="新邮箱地址"

    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
  2. git 中运行 email.sh,成功会有 change 提示,否则提示 unchanged。
    1
    sh email.sh
  3. 查看修改结果。
    1
    git log
  4. 同步至远程仓库
    1
    git push origin --force --all

Success

绿格子成功恢复

文章参考,特别鸣谢