1. 程式人生 > 其它 >Git修改提交歷史中的作者及郵箱資訊

Git修改提交歷史中的作者及郵箱資訊


1. 使用rebase

如圖,紅圈中提交的使用者名稱及郵箱是需要改的,則需要複製需要改的提交記錄的上一個記錄hashcode,在本例中就是a0a891a48f92b51201042fccbe61ed12646eda5e

git rebase -i a0a891a48f92b51201042fccbe61ed12646eda5e

如果整個倉庫只有1次提交,即root提交,則需要用如下命令

git rebase -i --root

2. 此時進入編輯介面,記錄著commit的資訊,

3. 需要修改哪個commit就在行首將pick改為edit

在本例中則需要改第一行

4. wq儲存退出

儲存退出之後會返回如下內容

5. 修改使用者名稱及郵箱

git commit --amend --reset-author

命令執行後會進入提交日誌的編輯介面,我們僅需要修改使用者名稱及郵箱,不需要修改提交日誌資訊,wq儲存退出即可

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

如果不想改全域性使用者名稱及郵箱的話,也可以手動指定使用者名稱及郵箱:

git commit --amend --author="otheruser <[email protected]>"

6. 結束rebase

git rebase --continue

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

7. 同步到遠端倉庫上

git push -f origin master