Git中的username的设置

git目前是使用得最多的版本管理工具。掌握git的用法,了解其中的设置这都是十分重要的。今天我就在git中的username的设置上面出现了问题,git中的username的设置进行记录。

设置username

Git使用username作为每一次提交的标示符。而git config命令就是用来改变git的配置的,包括用户名。这个命令需要2个参数。

  • 你想要改变的设置。如user.name
  • 你想将设置修改的新的值。如,spoock

如果你想将你的这是运用到你的电脑上面所有的库,那么需要在命令上加上global的关键字。而且在网上大部分的教程都是使用了global的关键字。正确的使用命令为:

1
$ git config --global user.name "spoock"

显示自己配置的用户名:

1
$ git config --global user.name

这种全局配置可以一劳永逸,但是也存在很大的问题。这种问题获足额在很多时候会让你匪夷所思。我之前使用全局配置为我设置了一个用户名和邮箱。但是这个用户名和邮箱与我在github上面的用户名和邮箱是不一致的。这就导致我虽然可以正常在进行commit和push1操作,但是在github上面并没有显示我的contributions。这就是由于你设置的用户名不一致而造成的问题。这个时候就为找个库单独使用一个用户名了。

为某个库单独使用用户名的方法也是十分的简单。去掉–global的参数即可。如下:

1
$ git config user.name "myspoock"

PS:在设置用户名的时候,可以使用任意的字符。Git实际上是使用email进行关联每次提交的,只不过使用username作为标示符来进行显示。当你的email地址和github上的email地址一致时,则会使用Github上面的name来进行显示。

问题

用户名没有显示

如果本地配置的email和Github上面的email没有匹配,那么就会使用本地配置的username而不是Github上面配置的username

新的提交没有使用正确的name

如果git config user.name显示的是正确的用户名,但是提交的时候却使用的是一个错误的用户名,那么很有可能是环境变量将username覆盖了。要确保没有使用GIT_COMMITTER_NAME或者GIT_AUTHOR_NAME变量。可以使用如下的命令查看这些变量。

1
2
$ echo $GIT_COMMITTER_NAME
$ echo $GIT_AUTHOR_NAME

修改的命令如下:

1
2
$ GIT_COMMITTER_NAME=Billy Everyteen
$ GIT_AUTHOR_NAME=Billy Everyteen

之前提交使用的是老用户名

修改了Git中的username之后,仅仅会对你之后的提交发生改变。如果想要修改之前的提交,那么就需要使用git filter-branch命令来修改之前的提交的历史。

在github的使用上面遇到了问题,基本所有的问题都可以在https://help.github.com/上面找到答案。

git中的email与username的设置大致相同,具体使用可以参考这篇文章https://help.github.com/articles/setting-your-email-in-git/

参考文章
https://help.github.com/articles/setting-your-username-in-git/