某天忽然发现本身提交了代码,可是GitHub
首页的小绿格没有增长。git
一开始我觉得是延迟,或者当天不能看到本身提交的贡献点,等到次日才会有?😡bash
查看了一下GitHub
的Commit
记录和本地的配置发现用户名与GitHub
不一致会致使不增长贡献。ui
由于是在公司提交代码,因此在公司配置的默认是是公司的邮箱,而不是本身的邮箱😅spa
找到缘由后就好解决了,最简单有两种方法:code
git config --global user.name "ordinaryA"
git config --global user.email "353458582@qq.com"
复制代码
此处要注意若是使用了
global
参数,表示你这台机器上全部的Git仓库都会默认使用这个邮箱及用户名,固然你也能够单独给某个仓库指定不一样的用户名和Email地址。string
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_NAME
,CORRECT_EMAIL
改为本身GitHub上的邮箱以及用户名便可
接下来执行一下脚本
./email.sh
复制代码
执行完成以后使用git log
能够看到邮箱已经修改为功
本地修改后,须要推送到GitHub
上
bash
以下指令
git push origin --force --all
复制代码
这时候打开GitHub
你就会发现小绿格神奇的恢复了😄