Changing author info
於 Windows 修改全部已 Commit & Push 的 History 中的 Author 資訊。
修改全部 Commit 的 Author 資訊
打開 Git Bash.
Clone Repository.
git clone --bare https://hostname/user/repo.git
cd repo.git
複製腳本並取代以下的變數
OLD_EMAIL: 舊的 Email
CORRECT_NAME: 正確的名字
CORRECT_EMAIL: 正確的 Email
#!/bin/sh
git filter-branch --env-filter '
OLD_EMAIL="your-old-email@example.com"
CORRECT_NAME="Your Correct Name"
CORRECT_EMAIL="your-correct-email@example.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
複製修改後的腳本並貼到 git bash 中執行腳本
確認新的紀錄是否正確
git log --pretty=format:"%h - %an <%ae>"
Push 到遠端 Repository
git push --force --tags origin 'refs/heads/*'
刪除本地的 Clone Repository
cd ..
rm -rf repo.git
參考資料
Last modified: 16 July 2024