如何修改git commit的author信息

本地有多個git帳號時,容易發生忘記設置項目默認帳號,最後以全局帳號提交的狀況,其實對代碼自己並沒有影響,只是提交記錄裏顯示的是別的名字稍顯彆扭。git

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

$ 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日誌


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

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

 

2、使用amend命令修改commit信息(注: amend命令只會修改最後一次commit的信息,以前的commit須要使用rebase)it

$ git commit --amend --reset-authoremail

 

3、若是須要修改歷史提交消息,經過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:im

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

相關文章
相關標籤/搜索