如何指定自定义全局gitconfig路径?
我对如何指定自定义全局gitconfig路径?,git,configuration,Git,Configuration,我对Git有点纠结。我正在尝试执行git commit,但我需要能够在~/.gitconfig1和~/.gitconfig2之间切换。是否有命令行开关?或者无论如何,让git使用与/etc/gitconfig不同的gitconfig文件,~/.gitconfig和.git/config?我找到了一种方法来执行此操作-虽然不优雅,但确实有效-到目前为止,似乎是实现此操作的唯一方法 Git使用HOME路径确定.gitconfig的位置。我能做这样的事情: /home/marco/.silly/.gi
Git
有点纠结。我正在尝试执行git commit
,但我需要能够在~/.gitconfig1
和~/.gitconfig2
之间切换。是否有命令行开关?或者无论如何,让git
使用与/etc/gitconfig
不同的gitconfig文件,~/.gitconfig
和.git/config
?我找到了一种方法来执行此操作-虽然不优雅,但确实有效-到目前为止,似乎是实现此操作的唯一方法
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轻松地执行此操作
alias sillygit="HOME=/home/marco/.silly/ git"
sillygit commit -m "silly stuff"
您可以使用--git dir
git --git-dir /home/marco/silly/.git commit ...
Mario Ceppi可以使用-c config=value
参数到git
以稍微优雅的方式使用:
$ alias sillygit="git -c user.name=Silly -c user.email=silly@silly.org"
$ sillygit commit
当然,这假设您不介意将不同的配置键保留在
.bashrc
或类似文件中,而不是保留在.gitconfig
中,并且它有打破shell完成的警告。在一个repo中确实需要两个不同的配置吗?你能在每次回购中使用.git/config来获得你想要的吗?我想,如果你只有两种常见的设置可以在几十个回购协议中进行传播,那就不是很优雅了吗?@Jefromi是的,我有。这是我遇到的一个独特的情况,需要两个配置。另一个明显的选择是将全局别名git commit-v2
(或更短的名称)改为!导出GIT\u AUTHOR\u NAME=“Second NAME”;git提交
@Torek-更多git好处。这些开发者应该为他们的无能而感到骄傲……不错的黑客。我似乎找不到任何真正的方法来做到这一点——有一个GIT_CONFIG环境变量,但它只影响GIT CONFIG
本身,就像它的-f,--file
选项一样。--GIT dir设置正在编辑的存储库,提问者特别试图避免这样做。