某天忽然發現本身提交了代碼,可是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
你就會發現小綠格神奇的恢復了😄