Windows下配置git的url.<base>.insteadOf出现Invalid key错误如何解决
Windows系统Git URL替换配置报错解决方法
报错原因
Windows CMD/PowerShell的命令行参数解析规则和Linux Shell不同,当Git配置键中包含@、/等特殊字符时,如果没有用引号包裹对应的URL部分,命令行会错误拆分配置键结构,最终抛出invalid key错误。
正确配置方式
命令行配置
执行配置命令时,给配置键中的URL部分和需要替换的目标URL都加上英文双引号包裹即可:
- 全局生效(所有仓库通用)
替换所有匹配URL的读写操作:
仅替换推送操作的URL(对应pushInsteadOf规则):git config --global url."https://test:x-oauth-basic@github.com/MyCompany".insteadOf "https://github.com/MyCompany"git config --global url."https://test:x-oauth-basic@github.com/MyCompany".pushInsteadOf "https://github.com/MyCompany" - 局部生效(仅当前仓库使用)
去掉命令中的--global参数,在对应仓库目录下执行即可。
验证配置结果
执行git config --list --global查看全局配置列表,确认对应规则存在即可。你也可以直接打开Windows用户目录下的.gitconfig文件,确认已经生成如下配置段:
[url "https://test:x-oauth-basic@github.com/MyCompany"]
insteadOf = https://github.com/MyCompany
备选方案
如果命令行执行始终报错,可以直接手动编辑用户目录下的.gitconfig文件,把上面的配置段粘贴到文件末尾保存,效果和命令行配置完全一致。
内容的提问来源于stack exchange,提问作者Heikkisorsa
相关产品推荐
相关产品推荐

