如何通过命令行参数覆盖Git配置选项?

mst*_*rap 34 git config

我想http.proxy通过使用命令行参数直接调用Git命令时覆盖某些Git配置选项(在我的情况下).这可能吗?

ber*_*eal 46

是的,你可以传递它-c,如:

git -c http.proxy=someproxy clone https://github.com/user/repo.git
Run Code Online (Sandbox Code Playgroud)

  • 我不认为有一个环境变量可以做同样的事情,因为当 git 被脚本调用时,添加一个 `-c` 参数是不切实际的吗? (3认同)

Von*_*onC 9

请注意,有一个关于覆盖(使用命令git -c)配置的功能的新功能:

您无法将配置设置为空字符串(git -c http.proxy=或任何其他foo.bar=),直到git 2.2.2 ( 2014年9月30日),并提交a789ca7 Junio C Hamano (gitster)

config:teach" git -c"识别空字符串

在配置文件中,您可以执行以下操作:

[foo]
bar
Run Code Online (Sandbox Code Playgroud)

打开" foo.bar"布尔标志,你可以这样做:

[foo]
bar=
Run Code Online (Sandbox Code Playgroud)

将" foo.bar"设置为空字符串.
但是,git的" -c"参数同时处理:

git -c foo.bar
Run Code Online (Sandbox Code Playgroud)

git -c foo.bar=
Run Code Online (Sandbox Code Playgroud)

作为布尔标志,并且无法将变量设置为空字符串.
该补丁使后一种形式能够做到这一点.