在同一系统中为不同项目使用多个git用户名

159

我有一个与工作相关的Git代码库和一个与业余项目相关的不同Git代码库。

当我运行 git config --global user.name 时,用户名会在全局范围内更改,这会导致提交到使用不同用户名的代码库时出现混乱。

因此问题是,如何在所有我的业余项目中拥有相同的用户名,并在工作项目中拥有相同的用户名。我使用同一台电脑在两个地方工作。

2个回答

297

只需要使用--local代替--global即可。实际上,--local是默认选项,所以你可以直接执行:

git config user.email personal@example.org
git config user.name "whatf hobbyist"

在一个仓库中,以及

git config user.email work@example.com
git config user.name "whatf at work"

在另一个仓库中

这些值将被存储在该仓库的 .git/config 文件中,而不是全局配置文件中。


1
@mikej git commit --author= 允许使用该语法,但不能通过配置或环境变量进行设置。 - Joe
2
我们不能有像 .ssh/config 这样的东西吗? Host *.workdomain email work@example.com Host *github.com personal@example.org - Sérgio
1
当我执行此操作时,它不会要求我输入密码,也不允许我推送到代码库;它只是默认我在使用全局配置。对我来说,这种方法行不通。 - Pro Q
2
啊,是的。我的问题在于推送到远程仓库。提交对我来说完全没有问题。谢谢。 - Pro Q
1
@ProQ,如果您正在使用SSH进行身份验证,请查看此gist中的说明。但请务必先阅读前几条评论,因为这个gist本身并没有清楚地解释SSH主机是如何工作的。 - user909694
显示剩余5条评论

14

在调用git config时省略--global

git config user.name "A. U. Thor"

这将在当前代码库中设置该属性。


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