為改變已經(jīng)提交的 commit 的用戶名和/或郵箱地址银择,你必須重寫你 Git repo 的整個歷史。
注意:執(zhí)行這段腳本會重寫 repo 所有協(xié)作者的歷史累舷。完成以下操作后浩考,任何 fork 或 clone 的人必須獲取重寫后的歷史并把所有本地修改 rebase 入重寫后的歷史中,請謹慎操作被盈。
使用腳本改變你 repo 的 Git 歷史
我們寫了一段能把 commit 作者舊的郵箱地址修改為正確用戶名和郵箱的腳本析孽。
1.打開終端
2.復(fù)制粘貼腳本,并根據(jù)你的信息修改以下變量
OLD_EMAIL
CORRECT_NAME
CORRECT_EMAIL
腳本:
#!/bin/sh
git filter-branch -f --env-filter '
OLD_EMAIL="your-old-email@qq.com"
CORRECT_NAME="newName"
CORRECT_EMAIL="new-emil@qq.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