Git常用协议介绍

举报
烟花易冷 发表于 2018/05/27 23:50:30 2018/05/27
【摘要】 众所周知,Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,无需太多服务器端软件支持。方便多用户,跨系统的操作管理资源。那么Git常用的协议都有哪...

      众所周知,Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,无需太多服务器端软件支持。方便多用户,跨系统的操作管理资源。那么Git常用的协议都有哪些呢?今天就简单介绍一下。


     Git 可以以两种主要的方式跨越两个仓库传输数据:基于HTTP协议之上,和 file://, ssh://, 和 git:// 等智能传输协议(参见 内部原理 - 传输协议)。

1)哑协议:Git 基于HTTP之上传输通常被称为哑协议,这是因为它在服务端不需要有针对 Git 特有的代码。这个获取过程仅仅是一系列GET请求,客户端可以假定服务端的Git仓库中的布局。

2)智能协议:使用智能协议是传送数据的更常用的方法。这些协议在远端都有Git智能型进程在服务 -    它可以读出本地数据并计算出客户端所需要的,并生成合适的数据给它,这有两类传输数据的进程:一对用于上传数据和一对用于下载。(参见 Pro Git:协议

3)常用协议一览表

协议名称
语法格式
简单说明
SSH协议(1)
ssh://[user@]example.com[:port]/path/to/repo.git
可在url中设置用户名&端口号,缺省时默认端口号22
SSH协议(2)[user@]example.com:path/to/repo.gitscp格式表示法,非默认端口需要通过其他协议(如主机识别方法)进行设定
Git协议
git://example.com[:port]/path/to/repo.git只读协议
HTTP[S]
http[s]://example.com[:port]/path/to/repo.git兼有智能协议和哑协议
FTP协议
ftp://example.com[:port]/path/to/repo.git哑协议
RSYNC协议
rsync://example.com[:port]/path/to/repo.git哑协议
本地协议(1)
file://path/to/repo.git

本地协议(2)
/path/to/repo.git
同file://,但clone时不支持浅克隆,并且采用直接的硬链接实现克隆


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。