`

Git使用协议总结

阅读更多

服务器上的Git

建立一个大家都可以访问的共享仓库,从那里推送和拉取数据。我将把仓库Git 器”;代理一个Git 仓库只需要花很少的源,几乎从不需要整个服器来支持它的运行。

一个Git 器不。第一选择与服器通协议

仓库通常只是一个纯仓库(bare repository) ——一个没有当前工作目仓库为该仓库只是一个合作媒介,所以不需要从一个于已从硬出状的快照;仓库仅仅Git 的数据。简单纯仓库是你目里.git 的内容,无他物

 

协议

Git 可以使用四主要的协议传输数据:本地传输SSH 协议Git 协议HTTP 协议。除了HTTP 协议之外,其他所有协议都要求在服器端安装并运Git

 

本地协议

最基的就是本地协议(Local protocol) 了,仓库该协议中就是硬上的另一个团队每一个成一个共享的文件系(例如NFS )访问权,抑或的多人共用同一台电脑

 

如果你使用一个共享的文件系如果你在URL开头明确的使用file:// ,那Git 会以一略微不同的方式运行。如果你只出路径,Git 尝试使用硬接或者直接制它需要的文件。如果使用了file:// Git用它平传输数据的工序,而这种方式的效率相很低。使file:// 的主要原因是当你需要一个不包含无引用或象的干净仓库副本的

——一般是从其他版本控制系入之后或者似的情形(参9章的维护)。我们这里使用普通路径,因通常这样总是更快

 

要添加一个本地仓库Git 工程,运行如下命令:

$ git remote add local_proj /opt/git/project.git

 

优点

基于文件仓库点在于它的简单,同保留了存文件的限和网络访问权限。如果你

团队有一个全体共享的文件系,建立仓库就十分容易了。你只需把一份纯仓库的副

本放在大家能访问的地方,然后像其他共享目样设限就可以了。

缺点

这种方法的缺点是,与基本的网络连访问相比,能从不同的位置访问的共享以架

。另一个很重要的问题方法不一定就是最快的,尤其是于共享挂的文件系

 

SSH 协议

Git 使用的传输协议中最常的可能就是SSH 了。是因大多数境已支持通

SSH 器的访问——即使没有,也很容易架SSH 也是唯一一个同便于和写操

作的网络协议。另外两个网络协议HTTP Git)通常都是只行写操作时还是需要SSHSSH 也是一个验证的网络协议;而因其普遍性,通常也很容易架和使用。

SSH 克隆一个Git 仓库,你可以像下面这样给ssh:// URL

$ git clone ssh://user@server:project.git

或者不指明某个协议——这时Git 会默使用SSH

$ git clone user@server:project.git

也可以不指明用Git 会默使用你当前登的用

 

优点

使用SSH 的好有很多。首先,如果你想络仓库的写限,基本上不可能不使

SSH。其次,SSH 较简单—— SSH 护进程很常见。再次,通SSH 访

是安全的——所有数据传输都是加密和授的。最后,Git 和本地协议SSH 很高

效,会在传输之前尽可能的压缩数据

 

缺点

SSH 的限制在于你不能通实现仓库的匿名访问。即使仅为读取数据,人也必在能

SSH 访问主机的前提下才访问仓库使得SSH 不利于源的目。如果你仅仅

公司网里使用,SSH 可能是你唯一需要使用的协议

 

Git 协议

个包含在Git 件包中的特殊守护进程; 它会听一个提似于SSH 的特定端口(9418),而无需任何授。用Git 协议营仓库,你需要git-export-daemon-ok 文件——它是协议进程提供仓库的必要条件——但除此之没有什安全措施。要所有人都能克隆Git 仓库,要么谁也不能。也意味着该协议通常不能用来行推送。你可以允推送操作;然而由于没有授机制,一旦允许该操作,网上任何一个知道URL 的人将都有推送

 

优点

Git 协议存最快的传输协议。如果你在提供一个有很大访问量的公共目,或者一

个不需要对读操作行授目,架一个Git 护进程来供应仓库是个不

。它使用与SSH 协议相同的数据传输机制,但省去了加密和授开销

缺点

Git 协议消极的一面是缺少授机制。用Git 协议为访问项目的唯一方法通常是不可

取的。一般做法是,同提供SSH 接口,几个开发有推送(写)限,其他人通

git:// 有只读权限。Git 协议可能也是最协议。它要求有独的守护进程,需

要定制

 

HTTP/S 协议

HTTP HTTPS 协议美之在于架便性。基本上, 只需要把Git 纯仓库文件放在HTTP 的文件根目下,配置一个特定的post-update hook),就搞定了

 

Git post-update 会默运行合适的命令(git updateserver-info)来确保通HTTP 取和克隆正常工作。条命令在你用SSH 仓库推送内容运行;之后,其他人就可以用下面的命令来克隆仓库$ git clone http://example.com/gitproject.git

 

优点

使用HTTP 协议的好是易于架。几条必要的命令就可以全世界取到仓库的内容。

几分HTTP 协议不会占用多服源。因它一般只用到静HTTP

提供所有的数据,普通的Apache 器平均秒能供数千个文件——哪怕是一个小

型的服器超都很

 

缺点

HTTP 协议的消极面在于,相端效率更低。克隆或者下载仓库内容可能会花

更多时间而且HTTP 传输的体和网络开销比其他任何一个协议

 

分享到:
评论

相关推荐

    git常用命令总结

    ### git常用命令总结 #### 一、概述 在日常工作中,`git` 是必不可少的版本控制工具之一。本文档旨在汇总个人使用过程中遇到并频繁使用的 `git` 命令,便于查阅与学习。 #### 二、核心命令及用法详解 **1. git ...

    git常用命令总结 word文档

    ### Git常用命令总结 #### 一、准备工作 **1.1 初始化仓库** - **命令**: `git init` - **说明**: 当你需要在一个新的项目中开始使用Git时,首先要做的就是在项目根目录下运行`git init`命令来创建一个新的Git...

    git 使用简易教程

    ### Git使用简易教程 #### 一、Git简介与版本控制系统的重要性 **Git**是一种开源的分布式版本控制系统,被广泛应用于软件开发中以追踪文件的变化历史并管理不同版本间的差异。Git的强大之处在于其高效性、灵活性...

    Git说明书电子书,有pdf和epub版本,主要讲解Git怎么使用

    git-scm.com官方开放免费版权的电子书progit,有pdf和epub版本,主要讲解Git怎么使用: 1. 起步 1.1 关于版本控制 1.2 Git 简史 1.3 Git 是什么? 1.4 命令行 1.5 安装 Git 1.6 初次运行 Git 前的配置 1.7 获取帮助 ...

    硬件工程师使用git控制版本说明

    本文将主要介绍硬件工程师使用Git控制版本的说明,包括下载安装、软件说明、使用说明、配置远程仓库、Git的常用命令和工作方式建议、分支的使用、查看修改的历史等。 一、下载安装 Git可以从官网下载,下载地址为...

    git使用方法详解+gulp前端自动化构建工具

    ### Git 使用方法详解 #### 一、Git 初始化与配置 - **`git init`**:在当前目录下初始化一个新的 Git 仓库。此命令是开始使用 Git 的第一步。 - **SSH vs HTTPS**: Git 支持两种协议来连接远程仓库:SSH 和 HTTPS...

    git使用操作中文手册

    详述Git协议的工作原理。 - **4.1.4 HTTP/S协议** 讨论HTTP(S)协议作为传输层的选择。 **4.2 在服务器部署Git** - **4.2.1 将纯目录转移到服务器** 如何将现有的纯文件夹转移到Git服务器。 - **4.2.2 小型安装...

    自己编写Git:使用.NET Core的Git的简单实现

    Git是一种分布式版本...总结来说,实现一个简单的Git系统是一项复杂的任务,涉及到对Git工作流程的深入理解和.NET Core的相关技术。通过这个过程,不仅可以学习Git的内部机制,还能提升对.NET Core平台的理解和应用。

    Gitkraken7.5.5 ,包含安装教程

    Gitkraken是一款强大的...总结来说,Gitkraken 7.5.5是一个强大且易用的Git管理工具,通过其详细的安装教程和丰富的功能,可以帮助开发者更加高效地管理代码仓库。无论是初学者还是经验丰富的开发者,都能从中受益。

    Pro Git中文版电子书

    - **Git协议**:专门为Git设计的协议,适用于远程操作。 - **HTTP/S协议**:提供HTTP或HTTPS接口,便于通过Web界面进行访问。 **4.2 在服务器部署Git** - **将纯目录转移到服务器**:适用于已有仓库的情况。 - **...

    git学习总结电脑资料.doc

    网络协议方面,Git使用自定义协议、SSH、rsync、HTTP/HTTPS等进行仓库同步。Git支持原子提交,保证所有更改要么全部提交,要么都不提交。然而,Git不支持局部克隆,即不能仅克隆版本库的一部分。 Git的基本操作包括...

    git详解-PDF

    - **Git协议**:专门为Git设计的协议,适用于Git仓库之间的数据交换。 - **HTTP/S协议**:使用标准的HTTP或HTTPS协议进行数据传输。 - **在服务器上部署Git**:包括将裸仓库移到服务器、设置权限等步骤。 - **生成...

    6.6: 版本控制 、 Git基础 、 Git进阶 、 RPM打包 、 总结和答疑.docx

    案例4涉及Git服务器的设置,这里以192.168.2.100为例,配置Git服务器后,其他客户端(如192.168.2.200)可以通过SSH协议与之交互。在服务器端,需要确保Git服务运行并允许特定用户进行push操作。客户端则需要有权限...

    Git安装包.rar

    总结起来,Git是现代软件开发不可或缺的工具,无论是在个人项目还是团队协作中,Git都能有效地管理代码版本,促进高效协作。这个"Git安装包.rar"包含了两种不同版本的Git安装程序,适用于不同系统架构,为用户提供了...

    Git Pro (CN)

    - **本地协议**: 使用本地协议时,Git 会在同一台机器上进行操作,无需通过网络。 - **SSH 协议**: SSH 协议用于通过安全的通道在两台机器之间传输数据。 - **Git 协议**: Git 协议是 Git 专门设计的一种高效协议,...

    progit.pdf

    **Git命令** 附录则总结了Git的常用命令,为读者提供了快速参考。 综上所述,《ProGit》为读者提供了一个全面的Git使用手册,无论你是刚刚开始使用Git的新手,还是已经有一定经验的开发者,都能从本书中找到有价值...

    git用户和管理手册

    本手册主要涵盖了在Linux系统下如何搭建Git服务器以及在Windows环境下使用TortoiseGit客户端进行Git操作。 10. Git相关简介 Git由Linus Torvalds为Linux内核开发,因其高效和强大的分支管理机制而受到广泛欢迎。Git...

    git2.7.4及相关依赖库(麒麟linux可用).zip

    总结来说,Git2.7.4是一个强大且功能丰富的版本控制系统,这个压缩包包含了麒麟Linux上运行Git所需的所有组件。正确安装和配置这些依赖库将确保Git在麒麟Linux上的稳定运行,为您的软件开发工作提供便利。

    git内部培训教程

    - `git clone git@github.com:Mavlarn/git-tutorial.git` (Git协议) - `git clone ssh://[user@]host.xz[:port]/path/to/repo.git/` (SSH协议) - **添加、删除与移动文件** - `git add`: 将更改的文件添加到暂存...

    Git学习总结电脑资料.doc

    网络协议方面,Git 使用自定义协议,可以通过SSH、HTTP等方式进行同步。 Git 提供原子提交性,确保提交操作要么全部成功,要么完全失败,避免部分提交的情况。虽然Git 不支持局部克隆,即不能只克隆版本库的子目录...

Global site tag (gtag.js) - Google Analytics