Git常用协议介绍
【摘要】 众所周知,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.git | scp格式表示法,非默认端口需要通过其他协议(如主机识别方法)进行设定 |
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)