github個人首頁會展示開發(fā)者的代碼貢獻(xiàn)圖(如圖),直觀展示著開發(fā)者日復(fù)一日的工作量,然而有時候會出現(xiàn)提交的代碼反應(yīng)不到圖上去的問題。
代碼貢獻(xiàn)圖
據(jù)查資料大多都是由于開發(fā)者提交代碼時的郵箱與github中綁定的郵箱不匹配造成的,如下圖,提交的郵箱并不是我的github郵箱,所以導(dǎo)致我的代碼貢獻(xiàn)圖不能正確的反應(yīng)我的代碼提交。
git log
解決方案
這是有措施可以挽回的
step1
//使用--bare重新從github克隆你的項目到本地
git clone --bare https://github.com/xxxxx/xxxx.git
step2
//打開終端 并 cd xxxx.git
//在終端中復(fù)制如下腳本 更改相應(yīng)信息
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="舊的Email地址(git log查看)"
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
//更改完成后按enter執(zhí)行 執(zhí)行完成并正確應(yīng)該如下圖所示
正確完成圖
step3
//成功后push修改
git push --force --tags origin 'refs/heads/*'
step4
//刪除xxxx.git
cd ..
rm -rf xxxx.git
//進(jìn)入原有xxxx的項目 并且執(zhí)行拉取代碼 把兩個不同項目合并必須加上 --allow-unrelated-histories
git pull origin master --allow-unrelated-histories
刷新你的github首頁吧
這個項目丟失的記錄都回來啦
至此!大功告成~