原因:
最近一直在用github来写博客,但是今天发现github上的contributions记录并没有我的提交记录.
原因在于:本地的git默认的user.name和user.email并不是你的,而是本机.所以在此期间你的commit都是默认本机的.
你可以用git config user.name / git config user.email 来查看自己的git所属
查不出的结果应该是为空,因为你根本就没设置过.
然后用git log查看一下commit记录.你会惊奇的发现虽然在往你的github仓库中push,但是用户名和邮箱却不是你github的,而是系统默认的pc用户.
所以github贡献统计的根本就不是你的账户,就没有贡献小绿点咯.
解决办法:
保证以后的commit
如果你只是想以后的commit记录,你只需要把当前本地git的user.name和user.email配置一下即可
$ git config --global user.name “github’s Name”
$ git config --global user.email "github@xx.com"
修改之前的commit
如果你不想浪费之前的commit贡献,需要把所有你用默认账户的commit都归为你真正的名下怎么办.
我们需要修改所有的commit和push历史:
【在你想修改的仓库中】
- 修改所有者:
git filter-branch -f --env-filter '
if [ "$GIT_AUTHOR_NAME" = "oldName" ]
then
export GIT_AUTHOR_NAME="newName"
export GIT_AUTHOR_EMAIL="newEmail"
fi
' HEAD
- 修改贡献者:
git filter-branch -f --env-filter '
if [ "$GIT_COMMITTER_NAME" = "oldName" ]
then
export GIT_COMMITTER_NAME="newName"
export GIT_COMMITTER_EMAIL="newEmail"
fi
' HEAD
之后就能在commit记录里看到自己的头像了,而且在github主页上也会有小绿点