我使用来自here的Git-2.4.5.1-4th-release-candidate-64-bit.exe。
我正在学习Git,我正在阅读有关git config
命令的文档。我明白这一点:
--[no-]includes
在查找值时,请尊重配置文件中的include.*
指令。默认为开启。
和此:
INCLUDES
您可以通过设置special来包含另一个配置文件 include.path变量到要包含的文件的名称。该 包含的文件立即展开,就像它的内容一样 在include指令的位置找到。如果是的价值 include.path变量是一个相对路径,该路径被认为是 相对于include指令所在的配置文件 找到。 include.path的值受波形扩展的影响:〜/ is 扩展到$ HOME的值,并将~user /扩展到指定的用户 主目录。请参阅下面的示例。示例
# Core variables [core] ; Don't trust file modes filemode = false # Our diff algorithm [diff] external = /usr/local/bin/diff-wrapper renames = true [branch "devel"] remote = origin merge = refs/heads/devel # Proxy settings [core] gitProxy="ssh" for "kernel.org" gitProxy=default-proxy ; for the rest [include] path = /path/to/foo.inc ; include by absolute path path = foo ; expand "foo" relative to the current file path = ~/foo ; expand "foo" in your $HOME directory
我创建了这样的d:\server.gitconfig
文件:
[http]
proxy = http://@proxy2:8080
此外,我添加到C:\Users\Andrey\.gitconfig
文件(这与--global
密钥相同),例如include
组:
[include]
path = /d/server.gitconfig
但是当我发布命令时
git config --list
或
git config --includes --list
我看到include.path=/d/server.gitconfig
记录而不是http.proxy=http://@proxy2:8080
。
此外,当我启动命令
git config http.proxy
或
git config --includes http.proxy
我没有看到我的http.proxy
设置。为什么不发生包括?
答案 0 :(得分:3)
使用git-for-windows,这只适用于git配置文件中的Windonws样式路径:
onReceive()
请注意将[include]
path = c:\\prgs\\server.gitconfig
加倍作为路径分隔符。
然后,立即读取并扩展所包含的配置文件。
这也适用于路径中的空间:
\\
(git config --global include.path "c:\prgs\test with space\server.gitconfig"
命令行上不需要\\
)
这给出了:
git config
([include]
path = c:\\prgs\\test with space\\server.gitconfig
文件本身内部不需要双引号)