使用git clone时git://与https://开头的URL有什么区别?
Git协议(git://)与HTTPS协议的核心差异
- 传输加密:git://属于无加密的原生Git协议,所有传输内容都是明文,中途可能被窃听、篡改;HTTPS协议基于TLS加密传输,可保障数据传输的完整性和保密性。
- 端口与兼容性:git://默认使用9418端口,很多企业、学校的防火墙会封禁该非常规端口,无法正常使用;HTTPS默认使用443通用端口,几乎所有网络环境都可以正常访问。
- 认证与权限:git://不支持身份认证,仅能用于公开仓库的匿名只读操作,无法完成代码推送、私有仓库访问等操作;HTTPS支持账号密码、个人访问令牌等认证方式,可同时支持公开/私有仓库的读写全操作。
- 性能:git://作为Git原生设计的轻量协议,没有加密解密的额外开销,相同网络环境下的拉取、克隆速度比HTTPS略快,但目前该优势已经被HTTPS的性能优化抵消了大部分,感知不强。
补充:GitHub官方在2022年已经全面默认禁用了git://协议的访问,仅极少数历史存量仓库还可临时使用该协议,已经不推荐在任何场景下选择git://协议。
其他常见的Git URL形式
除了git://、https://之外,还有4种主流的Git URL协议格式:
- SSH协议:标准写法为
ssh://git@github.com/用户名/仓库名.git,更常用的是简写格式git@github.com:用户名/仓库名.git。走22端口,基于SSH密钥对做身份认证和加密传输,不需要每次输入认证信息,安全性高,支持读写全操作,是高频开发者的首选协议。 - 本地文件协议:标准写法为
file:///本地仓库路径,也可以直接写绝对/相对路径,用于访问本地磁盘、局域网共享目录中的Git仓库,不需要网络,操作性能最快。 - SFTP协议:格式为
sftp://服务器地址/仓库路径,是基于SSH加密的FTP变种,多用于老旧场景下访问FTP服务器上存储的Git仓库,现在使用频率很低。 - HTTP协议:格式为
http://仓库地址,是未加密的HTTP协议,安全性和git://一致,仅用于内部无公网风险的环境下的仓库访问,公网场景已经被HTTPS全面替代。
内容的提问来源于stack exchange,提问作者patha
相关产品推荐
相关产品推荐

