修改Git 倉庫的歷史中提交作者的信息 name和email

此操作需要強推倉庫請謹慎操作,請確保有強推權限

一、打開 Git bash,輸入Git 命令

 這是一段多行命令

git filter-branch --env-filter '

OLD_EMAIL="[email protected]"
CORRECT_NAME="LiuDanyang"
CORRECT_EMAIL="[email protected]"

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

OLD_EMAIL 舊郵箱(也就是需要替換掉的 Git 歷史中的郵箱)

CORRECT_NAME 新名稱

CORRECT_EMAIL 新郵箱

 注意:直接複製到bash裏面無法修改

新建一個文本文檔

 

二、運行完多行命令之後,強制推送倉庫

git push --force --tags origin 'refs/heads/*'

 完成修改

附加:

保證之後提交的用戶信息,需要設置Git

git config --global user.name "LiuDanyang"
git config --global user.email [email protected]

 

參考資料

git-configgit-filter-branchchanging author info

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章