Git-服务器协议

Travis 于 2020-03-26 发布

目录

Git 服务器协议

Git 可以使用四种不同的协议来传输资料

Local 协议

优点:简单,快速,共享文件系统

缺点:不方便多个位置访问,使用挂载共享文件系统的方式速度并不一定快,没有保护机制

1
2
3
4
5
6
7
# 直接复制(一般使用,速度更快)  
$ git clone /srv/git/project.git  
# 网路传输资料的进程,那样传输效率会更低  
$ git clone file:///srv/git/project.git  
  
# 添加一个本地版本库到现有的 git 项目  
$ git remote add local_proj /srv/git/project.git  

HTTP 协议

优点:http协议使用广泛,高效

缺点:搭建麻烦,管理凭证比 ssh 协议棘手

1
2
# 一般写法  
$ git clone https://example.com/gitproject.git  

SSH 协议

优点:架设简单,访问安全,高效

缺点:不支持匿名访问,

1
2
3
4
# 一般写法  
$ git clone ssh://[user@]server/project.git  
# 简写(scp)的写法  
$ git clone [user@]server:project.git  

Git 协议

优点:网络传输最快,省去加密和授权

缺点:缺乏授权机制,架设较难

小结

一般使用 Git + SSH/HTTP 协议,只让少数开发者有推送权限,其他人通过 Git 协议访问只读权限。

Git 服务器搭建

GitLab 搭建

官方文档:链接