跳到主要内容

通过 https、ssh 协议推拉代码

Git 传输协议介绍

Git 可以使用以下四种协议进行资料的传输:

  • 本地协议(Local)
  • HTTP/HTTPS 协议
  • SSH(Secure Shell)协议
  • git 协议

其中,本地协议由于目前大都是进行远程开发和共享代码所以一般不常用,而 git 协议 由于缺乏授权机制且较难架设所以也不常用。

目前 Gitee 支持的协议

目前 Gitee 支持使用 HTTPS 协议ssh 协议 进行代码的推送/拉取。两种协议的差别仅在于同一个仓库使用不同协议时的地址不同,以及对应的授权实现不同。

以仓库 https://gitee.com/normalcoder/Gitee-Blog-Applets 为例,对应两种协议的远程仓库地址 (remote) 如下:

https 协议https://gitee.com/normalcoder/Gitee-Blog-Applets.git

ssh 协议git@gitee.com:normalcoder/Gitee-Blog-Applets.git

关于 git 远程仓库的管理,可以参考文章 「Git 仓库的基本操作 /远程仓库管理」

https 协议 和 ssh 协议在使用上的差别

使用 https 协议 克隆 对初学者来说会比较方便 ,复制 https url 然后到 git Bash 里面直接用 clone 命令克隆到本地就好了,但是 每次 fetch 和 push 代码都需要输入账号和密码 ,这也是 https 协议 的麻烦之处。

而使用 SSH 协议 克隆需要在克隆之前先配置和添加好 SSH key,因此, 如果用户想要使用 SSH url 克隆的话,必须是这个仓库的拥有者

另外,使用 SSH 协议 默认是每次 fetch 和 push 代码都不需要输入账号和密码。

相关关于 SSH Key 的生成、配置和使用可以参考 「公钥管理」「账户管理 / SSH 公钥设置」

在使用命令上,两种协议使用的命令没有过多差异。git clonegit pullgit push 等命令都是一样的。

关于 git 基本命令的使用,可参考文章 「Gitee 帮助中心 / Git 操作常见问题」「Git 知识大全」