之前很長一段時間GitHub上的提交都在使用工作賬戶, 導致私人倉庫中的提交者比較混亂. 在StackOver里面找到了一個bash腳本可以批量修改username, 在這里記錄一下.
修改的步驟一共兩步:
- 執行修改腳本
- 將本地修改同步到Git服務器
首先我們來看腳本:
#!/bin/shgit filter-branch -f --env-filter '
OLD_EMAIL="your-old@email.com"
CORRECT_NAME="correct-git-username"
CORRECT_EMAIL="your-new@email.com"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
thenexport GIT_COMMITTER_NAME="$CORRECT_NAME"export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
thenexport GIT_AUTHOR_NAME="$CORRECT_NAME"export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags
將腳本中的OLD_EMAIL
, CORRECT_NAME
和CORRECT_EMAIL
按照需要修改, 并將改腳本放到需要修改的項目的根目錄下執行.
查看打印信息如果顯示修改成功, 則執行git push -f
即可將修改內容同步到Git服務器上.
如果想要了解更多關于Git的使用技巧, 可以查看我的技術博客-Git欄目.