* 你是這個倉庫的協做者,或者是這個版本庫的擁有組織中的一員
* 你fork過這個倉庫
* 你對這個倉庫發起過pull request或者issue
* 你對這個倉庫標記了Star複製代碼
注意:私有庫的貢獻僅僅對私有庫成員顯示複製代碼
你能夠在你的本地repo裏用git log
命令查看commit
記錄上的我的郵箱是否正確,像我就是由於以前切換到Mac平臺開發以後用戶名沒有配置,因此我以後的commit記錄上的郵箱一直是mrchang,因此Github就會認爲這些commits都不是你提交的!
git
然而這也並非沒有補救辦法的,Github官網上就有給出詳細的補救過程,英語好的同窗請自行移步 Changing author info,下面是我翻譯自Github Help的簡要步驟:github
Mac、Linux下打開Terminal,Windows下打開命令提示符(command prompt)複製代碼
給你的repo建立一個全新的clone複製代碼
git clone --bare https://github.com/user/repo.git複製代碼
cd repo.git複製代碼
複製粘貼腳本,並根據你的信息修改如下變量:舊的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. 按 Enter鍵 執行腳本。複製代碼
2. 用git log命令看看新 Git 歷史有沒有錯誤複製代碼
3. 把正確歷史 push 到 Github複製代碼
git push --force --tags origin 'refs/heads/*'複製代碼
4. 刪掉剛剛臨時建立的 clone複製代碼
cd ..複製代碼
rm -rf repo.git複製代碼
git config --global user.email "你的郵件地址"
git config --global user.name "你的Github用戶名"