配置 Git `user.name`?

问题描述 投票:0回答:6

我今天安装了适用于 Windows 7 的 Git。我对 Git 还不太了解,我正在关注 http://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup 以及来自 YouTube 的有关该主题的视频。在视频中,人们安装 Git 并进入命令行并使用

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

git config --global user.email = "[email protected]"

并且它会在

.gitconfig
中创建
C:/Users/admin/.gitconfig
文件并为其提供正确的值。

运行上面的代码行三次后,这就是我在该文件中得到的内容:

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

为什么不起作用?我按照官方教程进行操作,发现它适用于 YouTube 上的其他人,但不适用于我。

git git-config
6个回答
68
投票

您没有使用正确的语法:

user.name
"My name"
之间,或者
user.email
"[email protected]"
之间不应该有任何等号。例如,当你跑步时

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

该命令将

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

[user]
    name = =
    email = =

如果使用正确的语法,一切都应该有效:

enter image description here

另请参阅 VonC 的回答,了解 Git 2.13 中的相关更改。


12
投票

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

安装 Git 时您应该做的第一件事是设置您的用户名和电子邮件地址。这很重要,因为每个 Git 提交都会使用此信息,并且它会一成不变地融入到您传递的提交中:


3
投票

注意:Git 2.13+ (Q2 2017) 会更好地报告这种语法错误 (

git config --global user.email = "[email protected]"
)

请参阅 commit 9442555commit 13b9a24commit 862e80acommit afb6c30(2017 年 2 月 23 日),作者:Jeff King (

peff
)
(由 Junio C Hamano --
gitster
--
合并于 commit 066c38c,2017 年 3 月 10 日)

仅由

cruft chars

 组成的 
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

2
投票

对于那些稍后才接触到此内容,并且由于 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“我的名字”

© www.soinside.com 2019 - 2024. All rights reserved.