首页 > 解决方案 > Git 提交未使用存储库配置的 `user.name` 值

问题描述

我有一个存储库,我在其中配置了本地user.nameuser.email. 我已经验证它正在运行git config user.name,并且git config user.email在 git repo 中提供了正确的输出,并且我的.git/config文件也正确显示了它们 - 但我的提交仍然使用我的 global user.name(尽管它们确实使用了正确的 local user.email)。我正在运行 macOS 10.13.4 和 Git 2.17.1 - 命令行 git 和从 IntelliJ 提交时都会出现此问题。可能是什么问题?

标签: gitgit-config

解决方案


如果git config user.name打印正确的名称但git commit不使用该名称,则必须覆盖配置的值。

显而易见的(咳嗽)候选者是一个环境变量,如顶级git命令手册页中列出的,大部分到最后。您可以使用以下git var命令快速测试是否是这种情况:

$ git var GIT_AUTHOR_IDENT | sed 's/@/ /'
Chris Torek <chris.torek gmail.com> 1528489689 -0700

与:

$ GIT_AUTHOR_NAME='A U Thor' GIT_AUTHOR_EMAIL=thor@example.com git var GIT_AUTHOR_IDENT
A U Thor <thor@example.com> 1528489743 -0700

这显示了如果我没有设置这些环境变量,我是如何覆盖本来会出现的姓名和电子邮件地址的。


推荐阅读