嗯,标题有点别扭,先这样。

初次使用 Git 做 git commit 的动作,如果没有预先做过设置,Git 会提醒用以下命令设置用户的称谓和邮件。

git config --global user.name "Your Name"
git config --global user.email you@example.com

既然是版本控制,自然是要自报家门。如果把代码提交到 GitHub,这个设置的邮件也是用来和账户关联的根据。

--global 参数表示这是全局设置,一次设置后以后新建的 Repo 进行 commit 都会沿用设置的信息。


现实的情况是使用 Git 时有穿不同马甲的需要,比如工作项目用单位的邮件和正式的称谓,业余项目用私人的邮件和中二的昵称。

当然你可以在每次新建 Repo 后,去掉 --global 参数,针对 Repo 进行个别设置。

git config user.name "Your Name"
git config user.email you@example.com

问题在于如果你忘记了,git 仍然会使用全局设置,这样可能导致 repo 的 log 里出现敏感信息,而且还不好删除。


从 Git 2.8 开始,你可以更改 Git 设置,强制要求针对每个 Repo 设置用户称谓和邮件。

# Require setting user.name and email per-repo:
git config --global user.useConfigOnly true

# Remove email address from global config:
git config --global --unset-all user.email

这样虽然每次开始时麻烦些,但好在不会出错。