目录
Git 服务器协议
Git 可以使用四种不同的协议来传输资料
- Local 协议
- HTTP 协议
- SSH 协议
- 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 搭建
官方文档:链接