提交代码到GitHub,"小绿格"却不增长

某天忽然发现本身提交了代码,可是GitHub首页的小绿格没有增长。git

一开始我觉得是延迟,或者当天不能看到本身提交的贡献点,等到次日才会有?😡bash

查看了一下GitHubCommit记录和本地的配置发现用户名与GitHub不一致会致使不增长贡献。ui

由于是在公司提交代码,因此在公司配置的默认是是公司的邮箱,而不是本身的邮箱😅spa

解决方法🎉

找到缘由后就好解决了,最简单有两种方法:code

  1. 修改全局默认邮箱的用户名和邮箱
git config --global user.name "ordinaryA"
git config --global user.email "353458582@qq.com"
复制代码

此处要注意若是使用了global参数,表示你这台机器上全部的Git仓库都会默认使用这个邮箱及用户名,固然你也能够单独给某个仓库指定不一样的用户名和Email地址。string

  1. 修改单个Git仓库的用户名和邮箱

打开项目所在目录,bash以下指令it

cd .git

git config user.name "ordinaryA"

git config user.email "353458582@qq.com"
复制代码

而后经过执行命令能够查看config文件检查是否修改为功:class

cat config
复制代码

完成上述操做以后,当你再次提交代码时,就能在GitHub上看到你的小绿格了!email

大功告成💧

完成以上步骤后,虽然提交代码会有绿格了,可是以前提交的怎么找回来呢?配置

咱们只须要修改历史提交记录的提交用户名和邮箱就可以正确显示了😀

首先在项目根目录下建立 email.sh ,而后写入以下代码:

#!/bin/sh 
git filter-branch --env-filter ' OLD_EMAIL="alan9999@163.com" CORRECT_NAME="ordinaryA" CORRECT_EMAIL="353458582@qq.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
复制代码

OLD_EMAIL改为旧邮箱,查看旧邮箱能够经过git log或在GitHub上查看提交记录 CORRECT_NAMECORRECT_EMAIL改为本身GitHub上的邮箱以及用户名便可

接下来执行一下脚本

./email.sh
复制代码

执行完成以后使用git log能够看到邮箱已经修改为功

本地修改后,须要推送到GitHub

bash以下指令

git push origin --force --all
复制代码

这时候打开GitHub你就会发现小绿格神奇的恢复了😄

相关文章
相关标签/搜索