当我们去github上克隆代码仓库的时候,一般有两种选择,一种是https协议,一种是ssh协议。这也是最常用的两种协议了。
1. HTTPS协议(推荐)
优点:
- 对新手友好,使用简单,
clone
的时候只需要复制https
的地址使用git clone
即可 - 通常不会被代理或者企业防火墙阻拦。
缺点:
- 每次push代码时需要输入用户名以及密码。
- 效率比较低。克隆或者下载仓库需要更多的时间。
2. SSH协议(推荐)
优点:
- 效率高,传输快。传输之前会尽可能压缩数据。
- 当你在仓库中绑定了
ssh key
的时候,每次push代码就不需要每次都输入用户名密码了。 - 安全。所有数据传输都是加密以及授权的。
缺点:
- 必须加入
ssh key
.意味着你必须是项目所有者或者管理员。 - 不能实现仓库的匿名访问。即使是读数据,也必须保证能够通过ssh访问对应的仓库代码存储的主机才行。
3. GIT协议
优点:
- 效率非常高,传输快。
缺点:
- 没有授权机制。要么所有人都可以执行写操作,要么所有人都不可以。这也意味着一旦别人知道你的仓库URL,就拥有了对该仓库进行读写的权限。
- 该协议监听的是9418端口,意味着企业防火墙必须开放该端口,而企业级防火墙一般都会封锁这类不常见的端口。
4. LOCAL协议
优点:
- 简单。
缺点:
- 难以控制不同位置的访问权限。比如想在家里推送代码到公司的文件系统的仓库。
网友评论