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

文章目录

  • 概述
  • 一、协议
    • 1.1 本地协议
    • 1.2 HTTP协议
    • 1.3 SSH协议
    • 1.4 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/190407.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

OpenStack-train版安装之安装Keystone(认证服务)、Glance(镜像服务)、Placement

安装Keystone(认证服务)、Glance(镜像服务)、Placement 安装Keystone(认证服务)安装Glance(镜像服务)安装Placement 安装Keystone(认证服务) 数据库创建、创…

WebSocket 实战:构建高效的实时应用

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云…

SpringMVC利用@ControllerAdvice和ResponseBodyAdvice接口统一处理返回值

在我们进行Java的Web应用开发时,如何写更少的代码,做更多的事情。如何让开发更容易上手,更专注于业务层面,不需要太关心底层的实现。这里就分享一些我平时在搭建基础框架时候的一些心得体验。 统一处理返回值 在web应用中&#x…

集成开发环境 PyCharm 的安装【侯小啾python领航班系列(二)】

集成开发环境PyCharm的安装【侯小啾python领航计划系列(二)】 大家好,我是博主侯小啾, 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹…

《YOLOv5原创自研》专栏介绍 CSDN独家改进创新实战专栏目录

YOLOv5原创自研 https://blog.csdn.net/m0_63774211/category_12511931.html 💡💡💡全网独家首发创新(原创),适合paper !!! 💡💡💡…

Vue3中的组合式API的详细教程和介绍

文章目录 前言介绍组合式 API 基础setup 组件选项 带 ref 的响应式变量生命周期钩子注册内部 setupwatch 响应式更改独立的 computed 属性后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:vue.js 🐱‍👓博主在前端…

PID控制

在PID控制中,输出通常是一个控制量,而不是直接的PWM占空比。输出的具体含义可以根据具体的系统和应用而变化。在这段代码中,PID控制器的输出是 output_calc。 而 CCR_duty 是控制施肥系统的PWM占空比,这是通过PID控制的输出和曲线…

西南科技大学(数据结构A)期末自测练习五

一、选择题(每空 1 分,共 5 分) 1、下面关于图的叙述中,正确的是( )。 (1).回路是简单路径 (2).存稀疏矩阵,用邻接矩阵比邻接表更省空间 (3).若有像图中存在…

实验 elk+filebeat+kafka

kafka 3.4.1 elkfilebeatkafka 实现日志收集 httpd1 mysql1 topic 2.7 3.0 关闭防火墙 systemctl stop firewalld systemctl disable firewalld setenforce 0 安装 JDK yum install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel java -version 安装 Zookeeper cd /…

FL Studio2024重磅更新 带你了解FL21.2最新版本功能

FL Studio2024是功能强大的音乐制作解决方案,使用旨在为用户提供一个友好完整的音乐创建环境,让您能够轻松创建、管理、编辑、混合具有专业品质的音乐,一切的一切都集中在一个软件中,只要您想,只要您需要,它…

设计模式---第四篇

系列文章目录 文章目录 系列文章目录前言一、说说策略模式在我们生活的场景?二、知道责任链模式吗?三、了解过适配器模式么?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给…

Qt实现右键菜单

一、实现方法 QWidget提供了虚函数: virtual void contextMenuEvent(QContextMenuEvent*event);覆写该函数,即可。 二、Example 创建一个基本的mainwindow项目, 头文件: class MainWindow : public QMainWindow {Q_OBJECTpublic:MainWin…

for循环定义域问题

记录一个偶然发现的问题&#xff0c;代码如下 int main(int argc, char *argv[], char *envp[]){for(int i 1; i < 10; i);printf("%d",i); return 0; } 可以看到for循环后加了一个分号&#xff0c;按理说应该报变量i未定义的错误&#xff0c;但此时在编译器中…

山西电力市场日前价格预测【2023-12-02】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2023-12-02&#xff09;山西电力市场全天平均日前电价为373.22元/MWh。其中&#xff0c;最高日前电价为765.50元/MWh&#xff0c;预计出现在17:45。最低日前电价为187.48元/MWh&#xff0c;预计…

(11_29)畅捷通的 Serverless 探索实践之路

作者&#xff1a;计缘 畅捷通介绍 畅捷通是中国领先的小微企业财税及业务云服务提供商&#xff0c;成立于2010年。畅捷通在2021年中国小微企业云财税市场份额排名第一&#xff0c;在产品前瞻性及行业全覆盖方面领跑市场&#xff0c;位居中国小微企业云财税厂商矩阵领军象限前…

ios分发平台怎么提交工单管理

●工单管理 ●控制台-个人中心-工单管理 ●创建工单-提交工单 ●创建工单-提交完成 ●提交成功 ●工单回复使用 ●回复流程完成

NodeJs(一):初识nodejs、模块化、CommonJS、ESModule等

目录 (一)Nodejs简介 1.nodejs是什么 2.nodejs架构 3.nodejs的应用场景 (二)准备工作 1.安装nodejs 2.nodejs版本管理工具 (三)nodejs的使用 1.node的输入 2.node的输出 3.其他的console方法 (四)全局对象 1.常见的全局对象 2.特殊的全局对象 3.global和window的…

L1-006:连续因子

题目描述 一个正整数 N 的因子中可能存在若干连续的数字。例如 630 可以分解为 3567&#xff0c;其中 5、6、7 就是 3 个连续的数字。给定任一正整数 N&#xff0c;要求编写程序求出最长连续因子的个数&#xff0c;并输出最小的连续因子序列。 输入格式&#xff1a; 输入在一行…

文献速递:人工智能在健康和医学中

人工智能在健康和医学中 01 文献速递介绍 这篇文章详细探讨了人工智能&#xff08;AI&#xff09;在医学领域的最新进展、挑战和未来发展的机遇。 1.医学AI算法的最新进展&#xff1a; **AI在医疗实践中的应用&#xff1a;**虽然AI系统在多项回顾性医学研究中表现出色&…

软件测试面试最全八股文

请你说一说测试用例的边界 参考回答&#xff1a; 边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充&#xff0c;这种情况下&#xff0c;其测试用例来自等价类的边界。 常见的边界值 1)对16-bit 的整数而言 3276…