Git修改提交歷史中的作者及郵箱信息



一、使用rebase

如圖,紅圈中提交的用戶名及郵箱是需要改的,則需要復制需要改的提交記錄的上一個記錄hashcode,在本例中就是a0a891a48f92b51201042fccbe61ed12646eda5e
image

git rebase -i a0a891a48f92b51201042fccbe61ed12646eda5e

  • 也可以用HEAD~步長的方式,但如果提交記錄很久遠的話,算步長就不太現實,所以更推薦hashcode寫法
git rebase -i HEAD~1
  • 如果整個倉庫只有1次提交,即root提交,則需要用如下命令
git rebase -i --root

二、此時進入編輯界面,記錄着commit的信息

image

三、修改需要修改的commit

需要修改哪個commit就在行首將pick改為edit,在本例中則需要改第一行
image

四、保存退出

wq保存退出之后會返回如下內容
image

五、修改用戶名及郵箱

git commit --amend --reset-author

命令執行后會進入提交日志的編輯界面,我們僅需要修改用戶名及郵箱,不需要修改提交日志信息,wq保存退出即可
image

接下來此次提交的作者及郵箱會被修改為--local級別的用戶名及郵箱,若該級別沒有設置,則會使用--global級別的用戶名及郵箱

  • 如果不想使用已經設置好的用戶名及郵箱的話,也可以手動指定用戶名及郵箱:
git commit --amend --author="otheruser <otheremail@qq.com>"

六、結束rebase

git rebase --continue

再查看提交記錄,可以看到提交的作者及郵箱已經改正了
image

七、同步到遠程倉庫上

git push -f origin master



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM