Windows版Git升级到2.33.1.windows.1后includeif功能失效问题问询
Git for Windows 2.33+版本includeIf失效修复方案
1. 修正匹配规则忽略大小写
2.33及以上版本的Git for Windows调整了includeIf路径匹配逻辑,默认开启大小写校验,和Windows系统不区分路径大小写的特性冲突,导致原有配置失效。
修改你的全局.gitconfig中对应的配置段:
[includeIf "gitdir/i:E:/work/**"] path = ~/.gitconfig_work
gitdir后面新增的/i后缀表示匹配路径时忽略大小写,即可解决匹配失效问题。
2. 验证配置时注意执行路径
includeIf的gitdir规则仅在当前工作目录属于目标路径下的Git仓库时才会触发加载,你需要先进入E:/work/目录下的任意Git仓库,再执行命令查看配置:git config -l --show-origin
此时就能看到预期的C:/Users/crowne/.gitconfig_work配置条目。
3. 可选:规避路径解析异常
如果配置后还是不生效,可以把path值改为绝对路径,避免~ home目录解析异常:
[includeIf "gitdir/i:E:/work/**"] path = C:/Users/crowne/.gitconfig_work
关于旧版本嵌套目录不生效的说明
你之前遇到的一层以上嵌套目录不生效的问题,就是因为缺少gitdir/i的忽略大小写配置,修正后嵌套目录的递归匹配也会正常生效。
内容的提问来源于stack exchange,提问作者crowne
相关产品推荐
相关产品推荐

