如何通过git config insteadOf实现企业Git仓库HTTPS与SSH URL互转?
Git 企业仓库HTTPS与SSH URL自动转换方案
完全可以借助Git自带的配置机制实现两种URL格式的相互转换,不需要额外编写脚本封装克隆操作,具体配置如下:
1. 将HTTPS URL转换为SSH URL
针对你的HTTPS格式https://host/project/<project>/repo/<repo>和SSH格式git@host/<project>/<repo>.git,执行以下全局配置:
git config --global url."git@host/".insteadOf "https://host/project/"
配置后,当你使用HTTPS地址克隆或操作仓库时,Git会自动将地址替换为对应的SSH格式,比如https://host/project/proj1/repo/repo1会被转换为git@host/proj1/repo/repo1。而SSH地址末尾的.git后缀Git会自动识别处理,有无后缀都不影响正常操作。
2. 将SSH URL转换为HTTPS URL
如果需要反过来把SSH地址转为HTTPS格式,执行以下全局配置:
git config --global url."https://host/project/".insteadOf "git@host/"
之后使用SSH地址克隆时,Git会自动替换为对应的HTTPS格式。
注意事项
- 如果只想针对单个仓库生效,去掉命令中的
--global参数,进入目标仓库目录后执行配置即可。 - 若你的企业SSH地址实际使用Git标准的冒号分隔格式(如
git@host:<project>/<repo>.git),只需将配置中的git@host/替换为git@host:即可。
内容的提问来源于stack exchange,提问作者Eir Nym
相关产品推荐
相关产品推荐

