1、Git 文件的四种传输协定
Git 有四种不同的协定用来传输材料,别离是:
本地协定 Local
HTTP 协定
SSH 协定(Secure Shell)
Git 协定
1.1 本地协定
应用场景:本地协定常见的状况就是,近程仓库地址在同一主机上的其余目录。
该协定因为无奈外网拜访,故而在实践中并不常见,不做具体理解。
详情见 Git 的根底概念。Git 文件的四种传输协定。
1.2 HTTP 协定
目前支流提供 https 地址,github、gitee、gitlab 均反对。
如果你在 HTTP 上应用需受权的推送,治理凭证会比应用 SSH 密钥认证麻烦一些。然而,你能够抉择应用凭证 存储工具,比方 macOS 的 Keychain 或者 Windows 的凭证管理器。
个别应用 443 端口;通过用户名 / 明码受权,可用性比拟高;速度相较快点。
1.3 SSH 协定
个别应用 22 端口;通过先在本地生成 SSH 密钥对再把公钥上传到服务器;速度相较慢点。
SSH 协定不反对匿名拜访 Git 仓库 。如果你应用 SSH,那么即使只是读取数据,使用者也必须通 过 SSH 拜访你的主机,这使得 SSH 协定不利于开源的我的项目,毕竟人们可能只想把你的仓库克隆下来查看。如果你 只在公司网络应用,SSH 协定可能是你惟一要用到的协定。如果你要同时提供匿名只读拜访和 SSH 协定,那么你除了为本人推送架设 SSH 服务以外,还得架设一个能够让其他人拜访的服务。
1.4 Git 协定
不足受权机制。把 Git 协定作为拜访我的项目版本库的惟一伎俩是不可取的。个别的做法里,会同时 提供 SSH 或者 HTTPS 协定的拜访服务,只让少数几个开发者有推送(写)权限,其他人通过 git:// 拜访只有 读权限。Git 协定兴许也是最难架设的。它要求有本人的守护过程,这就要配置 xinetd、systemd 或者其余 的程序。它还要求防火墙凋谢 9418 端口,然而企业防火墙个别不会凋谢这个非标准端口。而大型的企业防火墙通常会封闭这个端口。
该协定在理论实际中应用也比拟少,不做具体理解。
详情见 Git 的根底概念。Git 文件的四种传输协定。
2、Windows 应用 http 协定
2.1 个别 github、gitee 这样开源托管的网站都能够应用 http 协定。
2.2 革除本地缓存的 git 账户和明码,托管在 windows 凭证中。
操作门路:控制面板 -> 用户账户 -> 凭据管理器 -> 治理 Windows 凭证 ->Windows 凭据,逐个清理。
2.3 再次 clone 我的项目,提醒输出用户名和明码,正确输出后会再次保留到 Windows 凭证中。
3、Windows 多用户 SSH 配置
3.1、公司个别会搭建 gitlab 作为 git 服务故而应用 ssh 协定拜访。
像咱们公司部门有个 gitlab,起初公司也有 gitlab,迁徙过程中,有并存期间,就须要多用户配置。
3.2、配置步骤
3.2.1、本地生成公钥
3.2.2、gitlab 上配置公钥
3.2.3、本地配置 config 文件
3.2.4、反复上述配置
援用记录
Git HTTPS 和 SSH 的区别
Git 的根底概念。Git 文件的四种传输协定
Windows 设置多个 git 账号,进行多用户配置
10.6 Git 外部原理 – 传输协定
GitLab 克隆代码将 SSH 切换为 HTTPS 形式