對於 git 的用戶名與郵箱,咱們大多數人都有兩套,一套公司帳戶平時工做用和一套我的帳戶用於業餘項目。而我又經常在 commit 之後才發現用戶名與郵箱設置錯了。本文總結了如何修改 Commit 的用戶名與郵箱。前端
$ git config user.name "Author Name"
$ git config user.email email@address.com
複製代碼
上面的命令只會修改當前項目的配置。若是須要也能夠增長 --global
選項來修改當前系統用戶的默認配置。git
注意: 只建議修改未 push 的 commit。github
由於修改 Commit 的用戶名或郵箱會生成一個新的 commit 來替換以前的 commit 。若是在修改以前已經 push 到了遠端,修改後再次 push 會出現衝突。 只能使用 push -f
。 若是其餘人已經拉取( pull )了舊 commit 會出現不少麻煩。spa
若是你只須要修改最新的 commit ,直接使用:code
git commit --amend --author="Author Name <email@address.com>"
複製代碼
若是你已經修改了 git config 中的用戶名和郵箱,也可使用cdn
git commit --amend --reset-author --no-edit
複製代碼
好比,你的 commit 歷史爲 A-B-C-D-E-F
, F 爲 HEAD
, 你打算修改 C 和 D 的用戶名或郵箱,你須要:blog
git rebase -i B
(這裏有一個運行該命令後的例子(英文))
git rebase -i --root
pick
改成 edit
git commit --amend --author="Author Name <email@address.com>"
git rebase --continue
git commit --amend --author="Author Name <email@address.com>"
git rebase --continue
git push -f
(請確保修改的commit 不會影響其餘人)Stackoverflow: How to change the commit author for one specific commit?ci
歡迎關注公衆號 「大前端開發者」。給你帶來更多的前端技術與資訊get