为同一台计算机上的两个 Git 版本配置不同的全局用户名和电子邮件

Config global user name and email differently for two Git versions on same computer

我在我的 Windows 机器上安装了 Git,我还在同一台机器上的文件夹 D:\portableGit 中安装了便携式 git 版本。我希望这两个版本独立运行,以便每个版本都有自己的配置。目前他们以某种方式共享相同的配置。

例如,当我通过

从便携式版本更改电子邮件时
git config --global user.email "MyEmailAddressForPortableVersion"

它也会为非便携式 git 版本更改电子邮件地址,反之亦然。

我尝试为便携版设置 git HOME 文件夹,希望 git 将配置存储在该文件夹中。我通过在 D:\portableGit\etc\profile 文件中添加 HOME="/myconfig 行来做到这一点,现在它看起来像

....
HOME="/myconfig"
# normalize HOME to unix path
HOME="$(cd "$HOME" ; pwd)"
....

我也创建了 D:\portableGit\myconfig 文件夹,但两个 git 版本仍然共享相同的全局配置数据。

在Windows中,你可以通过git-bash.exegit-cmd.exe来调用Git,具体取决于你是否要在bash中启动Git或者在命令中。

根据您的开始,Git 可以在不同位置搜索配置文件。

要更改路径,您可以执行以下操作:

如果您使用的是git-bash:

您可以通过添加 HOME="/myconfig 来更改 pathToGit\etc\profile 文件中的 $HOME 变量,然后 Git 将在 pathToGit\myconfig 中搜索 .gitconfig 文件存储全局配置设置的位置,正如我在问题中描述的那样。

如果您使用的是git-cmd:

您还需要更改 %HOME% 但不在 etc\profile 文件中。在便携版中打开文件git-cmd.bat,找到两行看起来像

@if not exist "%HOME%" @set HOME=%HOMEDRIVE%%HOMEPATH%
@if not exist "%HOME%" @set HOME=%USERPROFILE%

并将其删除。然后在git-cmd.bat里面定义HOME变量,方法如下

set HOME=%git_install_root%\myconfig

如果你想要 Git 在 pathToGit\myconfig 文件夹中搜索配置文件。