对于 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