版本控制系统Git学习笔记-Git服务器

四智武童
一月一,捡花衣。二月二,练大字。三月三,穿新衣。四月四,去考试。考一个状元郎,坐著马车平天下。
在这里插入图片描述

概述

Git访问离不开服务器,一般在服务器中架设Git服务器,然后其他用户同时访问这个服务器,在这个服务器中的公共仓库中进行推送和拉取资料。
远程仓库通常只是一个裸仓库(bare repository),只是作为合作媒介,不需要从磁盘检查快照,存放的只有git的资料,包含的只有工程目录内的.git子目录中的内容,没有其他资料文件内容。

一、协议

Git支持四种不同的传输协议:本地协议(Local),HTTP 协议,SSH(Secure Shell)协议及 Git 协议

1.1 本地协议

本地协议(Local protocol)是最基本的协议。
远程仓库就是同一台机器上的另一个目录。同时不同成员访问同一个共享的文件系统。

git clone /srv/git/project.git				# 直接访问
git clone file:///srv/git/project.git		# 通过file协议访问,会降低效率

优点:

  • 简单,可以使用本地的文件权限和网络访问权限进行管理
  • 快速简单

缺点:

  • 文件系统比较难配置;
  • 要通过网络访问,需要挂载一个远程硬盘,比较慢,也不太安全;
  • 容易因为磁盘或者电脑故障导致仓库损坏。

1.2 HTTP协议

Git 通过 HTTP 通信有两种模式(哑(Dumb) HTTP 协议、智能 HTTP 协议)。

git clone https://example.com/gitproject.git

优点:
不同的访问方式只需要一个 URL 以及服务器只在需要授权时提示输入授权信息,这两个简便性让终端用户使用 Git 变得非常简单。
与 SSH 协议类似,HTTP 协议也非常快和高效。
HTTPS 协议被广泛使用,一般的企业防火墙都会允许这些端口的数据通过。

缺点:
在一些服务器上,架设 HTTPS 协议的服务端会比 SSH 协议的棘手一些。 除了这一点,用其他协议提供 Git 服务与智能 HTTP 协议相比就几乎没有优势了。

1.3 SSH协议

git clone ssh://[user@]server/project.git
git clone [user@]server:project.git

优势:
SSH 架设相对简单 —— SSH 守护进程很常见,多数管理员都有使用经验,并且多数操作系统都包含了它及相关的管理工具;
通过 SSH 访问是安全的 —— 所有传输数据都要经过授权和加密;
与 HTTPS 协议、Git 协议及本地协议一样,SSH 协议很高效,在传输前也会尽量压缩数据;

缺点:
SSH 协议的缺点在于它不支持匿名访问 Git 仓库;
如果你使用 SSH,那么即便只是读取数据,使用者也 必须 通过 SSH 访问你的主机, 这使得 SSH 协议不利于开源的项目,毕竟人们可能只想把你的仓库克隆下来查看;

1.4 Git协议

Git 里的一个特殊的守护进程;它监听在一个特定的端口(9418),类似于 SSH 服务,但是访问无需任何授权。
要让版本库支持 Git 协议,需要先创建一个 git-daemon-export-ok 文件 —— 它是 Git 协议守护进程为这个版本库提供服务的必要条件 —— 但是除此之外没有任何安全措施。 要么谁都可以克隆这个版本库,要么谁也不能。 这意味着,通常不能通过 Git 协议推送。

优点:
Git 协议是 Git 使用的网络传输协议里最快的。

缺点:
Git 协议缺点是缺乏授权机制。 把 Git 协议作为访问项目版本库的唯一手段是不可取的。

二、在服务器上搭建 Git

Git服务器搭建参考如下链接:

Ubuntu Server搭建Git服务器
Linux学习笔记-Ubuntu系统下配置用户ssh只能访问git仓库
华为云云耀云服务器L实例评测|从零搭建Git服务器并配置ssh免密访问

Git for windows软件下载路径为:Git for windows
Windows版本下载路径:Download for Windows
Linux版本安装参考官网说明:Download for Linux and Unix

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼听禅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值