如何修改git commit的author信息


本地有多個git賬號時,容易發生忘記設置項目默認賬號,最后以全局賬號提交的情況,其實對代碼本身並無影響,只是提交記錄里顯示的是別的名字稍顯別扭。

舉個例子:  查看提交日志,假設以a(a@email.com)提交了三次,發現提交用戶錯了,應該用b用戶提交:

$ git log
# 輸出如下
commit 3 (HEAD -> branch1)
Author: a <a@email.com>
Date: Thu Nov 22 16:22:59 2018 +0800
commit 3
commit 2 (HEAD -> branch1)
Author: a <a@email.com>
Date: Thu Nov 22 16:22:59 2018 +0800
commit 2
commit 1 (HEAD -> branch1)
Author: a <a@email.com>
Date: Thu Nov 22 16:22:59 2018 +0800
commit 1


一、如何重置本項目用戶信息

$ git config user.name 'b'
$ git config user.email b@email.com

 

二、使用amend命令修改commit信息(注: amend命令只會修改最后一次commit的信息,之前的commit需要使用rebase)

$ git commit --amend --reset-author

 

三、如果需要修改歷史提交消息,通過rebase操作

$ git rebase -i HEAD~3        // 這個命令如果報錯,請翻我博客,有解決方法

# 輸出如下
pick 1 commit 1
pick 2 commit 2
pick 3 commit 3
要修改哪個,就把那行的pick改為edit,然后退出。例如想修改commit 1的author,光標移到第一個pick,按i鍵進入INSERT模式,把pick改為edit:

edit 1 commit 1
pick 2 commit 2
pick 3 commit 3
...
-- INSERT --
然后按esc鍵,退出INSERT模式,輸入:wq退出,這時可以看到提示,可以修改commit 1的信息了:

輸入amend命令重置用戶信息:  $ git commit --amend --reset-author

會出現commit 1的提交記錄及注釋內容,可進入INSERT模式修改注釋,:wq退出。

這時再查看提交歷史,發現commit 1的author已經變成b(b@email.com)了,且是最新一次記錄。

通過continue命令回到正常狀態: $ git rebase --continue

 


免責聲明!

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



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