如何指定自定义全局gitconfig路径?

时间:2010-08-28 20:34:59

标签: git configuration

我与Git有点混淆。我正在尝试执行git commit,但我需要能够在~/.gitconfig1~/.gitconfig2之间切换是否有命令行切换 - 或者无论如何让Git使用不同的gitconfig文件然后在/etc/gitconfig~/.gitconfig.git/config找到的文件?

4 个答案:

答案 0 :(得分:15)

我找到了一种方法来执行此操作 - 它并不优雅,但确实有效 - 而且到目前为止似乎是实现此功能的唯一方法。

Git使用HOME路径来确定.gitconfig的位置。我能够执行这样的事情:

/home/marco/.silly/.gitconfig
/home/marco/.stupid/.gitconfig
/home/marco/.gitconfig

当执行Git Commit(这是唯一需要.gitconfig的命令)时,我覆盖了主路径。

HOME=/home/marco/.silly/ git commit -m "silly configuration"

然后您可以使用别名轻松完成此操作

alias sillygit="HOME=/home/marco/.silly/ git"
sillygit commit -m "silly stuff"

答案 1 :(得分:4)

使用-c config=value的{​​{1}}参数,可以稍微优雅地使用Mario Ceppi的alias approach

git

这当然假设您不介意在$ alias sillygit="git -c user.name=Silly -c user.email=silly@silly.org" $ sillygit commit 之类的内容中保留不同的配置密钥,而不是在.bashrc中,并且它有一个打破shell完成的警告。 / p>

答案 2 :(得分:0)

man git-config告诉我使用-f标志来传递配置文件。但是它似乎不能与git config之外的其他命令一起使用,所以我认为你必须在提交之前调用它,使用别名轻松完成。

答案 3 :(得分:-3)

您可以使用--git-dir

git --git-dir /home/marco/silly/.git commit ...