Github為什么沒有記錄你的Contributions

起因

今天看了下github,前幾天commit的都沒有記錄,找了下原因,發(fā)現(xiàn)原來自己用的是公司項目commit的時候的郵箱,所以沒有被記錄。

如何排查

你可以在你的本地repo里用git log命令查看commit記錄上的個人郵箱是否正確,我就是因為之前用的全局配置,都是xx@gmail.com ,但是其實我github上的郵箱是163的,所以Github就會認(rèn)為這些commits都不是你提交的。

補救措施

以下為轉(zhuǎn)載的解決辦法。

  1. Mac、Linux下打開Terminal,Windows下打開命令提示符(command prompt)
  2. 給你的repo創(chuàng)建一個全新的clone
git clone --bare https://github.com/user/repo.git
cd repo.git
  1. 復(fù)制粘貼腳本,并根據(jù)你的信息修改以下變量: 舊的Email地址, 正確的用戶名, 正確的郵件地址
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="舊的Email地址"
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
  1. 執(zhí)行腳本
  2. git log 檢查是否改過來了
  3. 把正確歷史 push 到 Github
git push --force --tags origin 'refs/heads/*'
  1. 刪掉剛剛臨時創(chuàng)建的 clone
rm -rf repo.git

參考

結(jié)束!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容