Git提交时要求提供身份信息

3
尝试提交时,遇到以下错误消息。
*** Please tell me who you are.

    Run

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

问题可以通过输入指示的命令来解决,如所示。我只是想知道为什么会出现这样的消息?我已经使用了一段时间的 git,通常它只会提交和添加文件,没有像这样的消息。

1
然后你删除了全局的 .git 配置。 - René Höhle
2
检查您的电子邮件和名称是否已配置 git config --listgit config --list --global - Rohan Kumar
@Stony 你好,你能给我更多的细节吗?谢谢。 - MaxG
@RohanKumar 添加完它们后,我现在可以看到新添加的名称了,这个列表是做什么用的? - MaxG
1
@Max_Guo:它提供了配置文件中设置的所有变量列表。有关更多信息,请参阅“man git-config”。 - Rohan Kumar
我在使用从存储库安装的Git时,在Ubuntu 18.04中遇到了这个问题。Git似乎会忘记名称和电子邮件,但所有其他设置仍然在.gitconfig中设置。我使用全局设置它,它出现在.gitconfig中,然后不知何故又消失了(我怀疑是重新启动后)。 - Daniel
3个回答

5
默认情况下,git会查找不同的位置以找到全局配置文件。其中包括~/.gitconfig~/.config/git/config,然后它会查找项目文件夹中的.git/config。通常情况下,您将全局设置保存在前两个配置文件中。如果您更改用户或删除该文件,则全局设置将丢失。您可以在git配置中了解更多信息。
参考链接:https://git-scm.com/book/tr/v2/Customizing-Git-Git-Configuration

好东西!我正在尝试提交新的代码到GitHub上不同的远程仓库,我相信这可能是原因!谢谢! - MaxG

1

这样可以在 git 历史记录中显示您的姓名和电子邮件。如果您是独自工作,那么这可能对您来说并不重要,但当您在团队中工作时,这非常重要。否则,它将从您的系统用户名中提取您的用户名,这可能并不总是理想的。


在这种情况下,我未来需要重新输入我的姓名和电子邮件吗?还是系统将从现在开始仅从历史记录中获取这些信息。另外我以前没有记得做这种事情,但是我的旧提交似乎完全正常。有任何想法吗? - MaxG
你只需要将你的用户名和电子邮件添加到 ~/.gitconfig 文件中。这个命令会自动为你完成。只需要执行一次即可。有时人们更换笔记本电脑或用户名,这会导致他们在不同名称下提交新的提交,从而产生差异。因此,这只是一项预防措施。 - hspandher
我明白了!感谢您的帮助,如果在24小时内没有更好的答案,我会接受您的回答。 - MaxG

0
这基本上是为了设置您的帐户默认身份。当您在 git 上提交请求时,如果您只是独自完成特定项目,那么这对您来说并不那么重要,但如果您作为团队共同完成某个项目,则设置帐户身份非常重要,以便以后不会出现任何问题。
然而,如果您通常或想独立工作,可以将您的用户名和电子邮件添加到 ~/.gitconifig 文件中。一旦完成此操作,您就不必每次更新时都执行 git config --global user.email "you@example.com" 和 git config --global user.name "Your Name"。此外,您还可以简单地省略 --global 以仅在此存储库中设置标识。

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