Git: 名称和电子邮件地址配置

49

偶尔我会收到Git发出的下面这条信息。我的问题是:

  1. 为什么会发生这种情况?
  2. 如何防止再次发生这种情况?
  3. 这会对我的提交或我执行的任何其他Git操作产生什么影响吗?

我知道类似的问题已经在Stack Overflow上发布过,但我不认为它们特别解决了这个消息。


您的姓名和电子邮件地址是根据您的用户名和主机名自动配置的。请检查它们是否准确。您可以通过显式设置它们来取消该消息:

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

完成此操作后,您可以使用以下命令为此提交修复标识:

git commit --amend --reset-author

你是否在同一工作站上使用相同的用户帐户时遇到此问题,并且您可以保证用户的配置目录始终可用?这个想法是全局git配置存储在位于您每个用户配置目录中的.gitconfig文件中。由于您没有提供有关系统的任何信息,因此我无法猜测更多。 - kostix
5个回答

63

Git 只是检测到您的配置文件中缺少以下部分:

[user]
    name = <your name>
    email = <your mail>
  • <project_path>/.git/config 是项目特定的配置文件。
  • ~/.gitconfig 是全局配置文件。

当你执行以下操作时:

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

Git会将这些信息写入配置文件中(--global表示在全局配置文件中)。

想要在提交中拥有正确的作者信息,就像以下示例提交一样:

commit 79eeaa9f22321580a0e5bee6e237331691cd3b68
Author: Sandro Munda <foo@bar.com>
Date:   Thu Jun 8 10:40:05 2012 +0200

    My first commit

你需要使用命令重置提交信息:

git commit --amend --reset-author


如果 Git “检测到”缺少配置文件,为什么它不会提供更好的错误消息呢? - pabrams
@pabrams,错误信息明确指出您应该使用上面显示的git config命令来设置您的姓名和地址。您不需要了解配置文件。 - bjhend

12

这是因为您没有设置全局的用户名称和电子邮件地址,因此在创建新存储库时,Git 必须猜测它们。

请使用以下命令:

git config --global user.email "some@email.com"
git config --global user.name "ha"

因此,下次将使用这些设置。


3
如果你想要防止git猜测自动值,你可以设置"最初的回答"。
git config --global user.useConfigOnly true

请参考这里的说明。

最初的回答

来这里是为了找这个选项,谢谢! - Alex Morega

0
根据我的ChatGPT建议,
你可以为每个git仓库使用一个特定的电子邮件。如果你使用多个git账户,这可能会很方便。
git config user.email "some@email.com"

请注意,它不包括--global标志。

0

您尚未为您的“桌面用户账户”设置默认用户名和电子邮件。

请按照您发布的说明进行操作。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接