【Git】修改 github 仓库 commit 的邮箱地址以统计 contributions

目录

背景

最近频繁在 github 上提交 commit ,但是发现首页的 contributions 并没有越来越绿,查了下原因发现是因为我在 commit 时所使用的邮箱并不是 github 的登录邮箱,导致 commit 没有和我的 github 账户产生关联,所以没有被统计到 contributions 中。本文记录解决此问题的方法。

参考:github上contributions统计错误

解决方案

  1. 克隆一个仓库

从 github 本人账户下克隆一个你要统计 contributions 的仓库到本地:

git clone --bare 仓库地址

然后进入到此仓库目录中,输入 git log 查看 commit 的邮箱地址,记录此邮箱地址,后文会用。

  1. 修改 commit 中的邮箱地址

在此仓库中新建一个脚本文件 run.sh ,写入如下命令:

#!/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

其中,「旧的邮箱地址」即步骤1记录的邮箱地址,「正确的邮箱地址」即你本人 github 账户所使用的主邮箱地址,可以在 github emailsPrimary email address 处查看此地址。

然后如下命令执行此脚本文件,该脚本会将本地 commit 中的邮箱修改为新的邮箱:

bash run.sh
  1. 将本地修改提交到远程

将本地修改提交到远程,以参与 contributions 统计:

git push --force --tags origin 'refs/heads/*'

此时该仓库中的 commit 已经参与到 github contributions 统计了,然后刷新 github 页面,是不是就绿油油了呢~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值