2012-03-16 106 views
3

我正在按照相当易于理解的Git Immersion教程开始使用,因为我第一次使用Git。通过命令行更改GitHub用户'名称'(不要与'用户名'混淆)?

而第一个命令让我怀疑。我发出的命令完全一样:

# To login 
$ ssh -T [email protected] 

# To change my name 
$ git config --global user.name "Joana Dine" 
$ _ 

毕竟,当我检查我的GitHub的帐户,它仍然同样的老名字。我的名字没有更新。我究竟做错了什么?

+0

只是检查,但你尝试改变你的名字后“提交”任何东西? – rjz 2012-03-16 16:00:58

+0

@rjz号那些是我第一次也是最后一次的命令。 – 2012-03-16 16:02:15

+0

好的。您指定的'user.name'是特定于您的系统的,并且(afaik)它仅用于显示特定提交的作者,而不是以任何方式修改您的github帐户。 (如果别人知道的更好,请在此纠正我!) – rjz 2012-03-16 16:11:52

回答

2

我确认:

git config --global user.name "Joana Dine" 

这仅仅是三个地方的Git的人会寻找识别你的提交完成本地(工作站上)。
这与GitHub无关。
这与您在本地创建的每个提交的提交作者和提交者名称有关。

如果您希望GitHub将您的提交显示为您的提交,那么一旦推入您的GitHub仓库,那么您应该将user.name和user.email设置为与您的GitHub帐户相关的值。

但没有任何东西阻止你提交“foo”(git config --global user.name“foo”),然后用你的GitHub证书推送它们。
这两个(提交名称和GitHub凭证)根本没有链接。

“改变我的名字”应该被理解为“在本地为我的新提交更改我的名字”。

唯一一次GitHub上需要的凭据是当你拉/推GitHub库,在这种情况下,它将使用$HOME/.netrc(或%HOME\_netrc在Windows上使用的凭据,只要你没有定义HOME,这是没有定义在Windows上默认):请参阅“Syncing with github”。

2

如果你想改变你需要重写整个回购历史上github上的那些(破坏性) - 看到这个guide

正如其他人所说,git config使用该名称的信息,以提供“作者”字段您提交的新提交 - 它对历史没有任何影响。

过去没有改变任何东西的原因是因为提交作者是用于生成提交哈希的字段之一 - 改变它会改变提交的身份。