Git
如何編輯 git 的歷史記錄以更正不正確的電子郵件地址/名稱
當我開始使用 git 時,我只是做了 a
git init
並開始呼叫add
andcommit
。現在我開始注意了,我可以看到我的送出顯示為cowens@localmachine
,而不是我想要的地址。看起來好像在設置GIT_AUTHOR_EMAIL
並且GIT_COMMITTER_EMAIL
會做我想做的事,但我仍然有那些舊的送出帶有錯誤的電子郵件地址/名稱。如何更正舊的送出?
您可以通過一次呼叫 git filter-branch 返回並修復所有送出。這與 rebase 具有相同的效果,但您只需執行一個命令即可修復所有歷史記錄,而不是單獨修復每個送出。
您可以使用以下命令修復所有錯誤的電子郵件:
git filter-branch --env-filter ' oldname="(old name)" oldemail="(old email)" newname="(new name)" newemail="(new email)" [ "$GIT_AUTHOR_EMAIL"="$oldemail" ] && GIT_AUTHOR_EMAIL="$newemail" [ "$GIT_COMMITTER_EMAIL"="$oldemail" ] && GIT_COMMITTER_EMAIL="$newemail" [ "$GIT_AUTHOR_NAME"="$oldname" ] && GIT_AUTHOR_NAME="$newname" [ "$GIT_COMMITTER_NAME"="$oldname" ] && GIT_COMMITTER_NAME="$newname" ' HEAD
更多資訊可從git 文件獲得