如何使用两个不同的全局Git配置?

5
我正在使用GitHub客户端和Atlassian的sourcetree。我想为每个软件使用两个不同的全局git配置。
目前,我必须编辑和检查每次提交我的作者和电子邮件名称。
那么,我该如何为我使用的每个git程序指定唯一的配置呢?
此致敬礼。

你在同时使用两个不同的代码库吗? - SzG
是的,我在两个不同的代码库中工作。 - Hidden
2个回答

7
每个代码仓库都有自己的配置文件,它可以覆盖全局和系统级别的配置。只需进入每个代码仓库即可。
git config user.name xxxx
git config user.email yyyy

请注意缺少--global选项。

谢谢您的快速回复,但是有没有不使用git shell的解决方案?Sourcetree和Github客户端都是基于GUI的,我从来没有使用过git shell。 - Hidden
1
然后,您可以查找其帮助并了解如何设置配置选项。我从未使用过它们,所以我不知道。但我希望我的答案能帮助您找到正确的选项。 - SzG
@TheAllSeeingEye 任何值得购买的Git客户端都应该正确引用本地git配置。 - Yuval Adam

0

我受到了SzG的答案的启发。这是我的最终解决方案:

首先查看全局git配置。您可以在主目录中找到.gitconfig文件(在Windows上:%userprofile%\.gitconfig,在Linux上:~/.gitconfig)。

我在全局git配置文件目录中创建了2个批处理文件。

GitHub.bat和SourceTree.bat

GitHub.bat

@echo off
cd /D %userprofile%
del .gitconfig
copy GitHub.bat .gitconfig

GitHub

[user]
    name = Name1
    email = email1@example.com
[core]
    autocrlf = true
    excludesfile = C:\\Users\\{windowsusername}\\Documents\\gitignore_global.txt

SourceTree.bat

@echo off
cd /D %userprofile%
del .gitconfig
copy SourceTree.bat .gitconfig

SourceTree

[user]
    name = Name2
    email = email2@example.com
[core]
    autocrlf = true
    excludesfile = C:\\Users\\{windowsusername}\\Documents\\gitignore_global.txt

所以这个工作正常,只需要在提交之前运行其中一个批处理程序,我就可以使用两个不同的作者名称和不同的电子邮件。


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