Git配置user.name无效

33

我今天在Windows 7上安装了Git。 我对Git不是很了解,正在遵循关于这个主题的http://git-scm.com/book/en/Getting-Started-First-Time-Git-Setup和来自YouTube的视频指南。 在视频中,人们安装Git并进入命令行并使用命令。

git config --global user.name = "My Name"

git config --global user.email = "email@example.com"

它会在C:/Users/admin/.gitconfig中创建.gitconfig文件,并为它们提供正确的值。

运行上述代码三次后,我在该文件中获得了以下内容:

[user]
    name = =
    email = =
    name = =

为什么它不起作用?我按照官方教程操作,看到YouTube上其他人使用时是可以的,但对我却不行。

6个回答

61

您没有使用正确的语法:在user.name"我的名字"之间以及user.email"email@example.com"之间不应该有等号。例如,当您运行以下命令时:

git config --global user.name = "My Name"

该命令将=字符解释为传递给user.name键的字符串值,而该行的其余部分("My Name")将被忽略。这就是为什么您的.gitconfig文件最终包含

[user]
    name = =
    email = =

如果您使用正确的语法,一切都应该正常工作:

enter image description here

有关Git 2.13中相关更改的信息,请参见VonC的答案


2
你说得对,那是我的错误。看到另一个答案后,我注意到我那里有多余的 = - Jimsea

10

参数user.name和user.email没有“=”号,只需使用空格。来自同一页的内容 -

安装Git后,您应该首先设置您的用户名和电子邮件地址。这很重要,因为每个Git提交都使用这些信息,并且它们被不可变地嵌入到您传递的提交中:

  • $ git config --global user.name "John Doe"
  • $ git config --global user.email johndoe@example.com

3
注意:这种语法错误(git config --global user.email = "email@example.com")将在 Git 2.13+(2017年第二季度)中得到更好的报告。

请看 提交 9442555, 提交 13b9a24, 提交 862e80a, 提交 afb6c30 (2017年2月23日)由Jeff King(peff完成。
(于提交 066c38c中由Junio C Hamano -- gitster --合并,于2017年3月10日)

user.email 只包含 无用字符,应该一直报错,但实际上没有。

这意味着现在会失败:

GIT_AUTHOR_NAME=" .;<>" git commit --allow-empty -m foo
fatal: name consists only of disallowed characters: .;<>

GIT_AUTHOR_EMAIL="" GIT_AUTHOR_NAME="" git commit --allow-empty -m foo 
fatal: no email was given and auto-detection is disabled

1

对于那些较晚才来的人,想要简单地存储他们的凭据,因为SSH不可用,请使用以下内容:

git config --global credential.helper store

0

我的命令中没有空格:

git config --global user.name="parsecer"

应该是

git config --global user.name = "parsecer"

-3

使用

sudo git config --global user.name "我的名字"


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