通过命令行更改 GitHub 用户的“名称”(与“用户名”不同)?

3
我正在按照易于理解的Git Immersion教程学习Git,这是我第一次使用Git。
然而第一个命令让我有些疑惑。我完全按照以下方式输入了命令:
# To login
$ ssh -T git@github.com

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

经过这一切,当我检查我的GitHub账户时,我的名字还是旧的,没有更新。我做错了什么?


只是确认一下,你更改名字后有尝试过提交(commit)吗? - rjz
@rjz 不是的。那些是我第一次也是最后一次使用的命令。 - its_me
好的。你正在分配的 user.name 是特定于你的系统的,而且据我所知,它仅用于显示特定提交的作者,而不会以任何方式修改你的 GitHub 帐户。(如果有人知道得更好,请纠正我!) - rjz
2个回答

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 中使用的凭据(或 Windows 上的 %HOME\_netrc,前提是你已定义了 HOME,在 Windows 上默认情况下未定义):请参见 "Syncing with github"。

2
如果你想要更改 GitHub 上的提交者信息,你需要重写整个仓库的历史记录(破坏性地)- 可以参考这篇指南
正如其他人所说,git config使用该名称信息来为你创建的新提交提供“作者”字段 - 它不会对历史记录产生任何影响。
它不能改变过去的原因是,提交作者是生成提交哈希值所使用的字段之一 - 更改它将改变提交的身份。

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