Git 可以使用四种主要的协议来传输数据:SSH 协议,Git 协议和 HTTP 协议。下面将一一介绍如何在服务端和客户端搭建和使用git的这些协议。

基础环境:

git server:172.16.29.24  centos5.8

git client:172.16.29.25  centos5.8

首先需要在两在机器上都安装git,由于centos5.8默认的源中没有git,所以选择源码安装,源码安装需要安装gcc、autoconf;

#cd git-2012-11-29

#autoconf

#./configure --prefix=/usr/local/

#make;make install

#git --version

git version 1.8.0.1

注意细节:

1、在linux机器上安装完git后,默认不支持命令自动补全。对于bash用户来说,实现git命令补全非常简单:

  从源码的contrib/completion目录中,找到git-completion.bash文件,复制到个人home目录,可设为隐藏文件以免后续被误删:

  #cp ./git-completion.bash ~/.git-completion.bash

  重新登陆终端生效,或者运行 source ~/.git-completion.bash 马上生效;

2、如果想要支持git svn 指令,需安装 subversion-perl,在centos5.8上可以用yum直接安装;

  #yum install subversion-perl

  首次把远端整个Subversion仓库导入到一个本地的 Git 仓库中,使用 git svn clone --username=rowe your_svn_url ;

3、在上面的搭建过程中,如果出现“Can't locate Term/ReadKey.pm in @INC”的错误,可以参考下面的解决方法,

  http://blog.csdn.net/donglin425/article/details/6395448

一、ssh协议

1.git server端

首先创建一个用户git,以git用户身份登陆,创建工程仓库文件并初始化,加了--bare参数就会初始化一个不包含工作目录的仓库;

#useradd git;passwd git

#su git

#cd /home/git;mkdir project.git;cd project.git;git --bare init

2.git clinet端

安装好git后,首先对git进行一些初始化配置,例如上传者的邮件和名字等,log会使用到这些信息;

#git config --global user.email "test@gmail.com"

#git config --global user.name "test"

将服务端的空仓库克隆到本地,添加一些文件作为初始化版本,并上传至服务器

#git clone git@172.16.29.24:/home/git/project.git

#cd project;touch init.txt;git add .;git commit -m 'initial commit'

#git push origin master

第一次上传一定要指定origin master,以后可以直接git push上传

优点

使用 SSH 的好处有很多。首先,如果你想拥有对网络仓库的写权限,基本上不可能不使用 SSH。其次,SSH架设相对比较简单—— SSH 守护进程很常见,

很多网络管理员都有一些使用经验,而且很多操作系统都自带了它或者相关的管理工具。再次,通过 SSH 进行访问是安全的——所有数据传输都是加密和授权的。

最后,类似 Git 和 本地协议,SSH 很高效,会在传输之前尽可能的压缩数据。

缺点

SSH 的限制在于你不能通过它实现仓库的匿名访问。即使仅为读取数据,人们也必须在能通过 SSH 访问主机的前提下才能访问仓库,这使得 SSH 不利于开源的项目。

如果你仅仅在公司网络里使用,SSH 可能是你唯一需要使用的协议。如果想允许对项目的匿名只读访问,那么除了为自己推送而架设 SSH 协议之外,还需要其他协议来让别人获取数据。

二、git协议

待续。。。

转载于:https://www.cnblogs.com/lbiao/archive/2013/04/18/3029028.html

centos5.8上安装git server相关推荐

  1. 在CentOS5.4上安装Git

    1.到官网上下载源码 http://git-scm.com/download 2.WinSCP 传到服务器上 3.解压 tar -xjf git-1.7.3.2.tar.bz2 4.安装gcc 安装V ...

  2. 在群晖NAS上搭建 Git Server

    概述 事前准备 配置NAS 1 在群晖NAS上安装 Git Server 套件 2 创建用来存放git仓库的共享目录 3 创建用来使用git的普通用户 4 设置 Git Server 允许刚创建的用户 ...

  3. Ubuntu 20.04上安装Git方法

    Git是世界上最受欢迎的分布式版本控制系统,被许多开源和商业项目使用.它使您可以与其他开发人员在项目上进行协作,跟踪代码更改,还原到上一阶段,创建分支等. Git最初是由Linux内核的创建者Linu ...

  4. Git学习系列之Windows上安装Git之后的一些配置(图文详解)

    不多说,直接上干货! 前面博客 Git学习系列之Windows上安装Git详细步骤(图文详解) 第一次使用Git时,需要对Git进行一些配置,以方便使用Git. 不过,这种配置工作只需要进行一次便可, ...

  5. IIS 7上安装SQL SERVER 2005报表服务可能导致不能正常连接

    前段时间一直在研究SCOM 2007的报表功能,在POC里测试时候遇到一些问题,本打算装最新的产品WINDOWS SERVER 2008+SQL SERVER 2008+SCOM 2007.只是发现S ...

  6. centos5.5上安装oracle 11g R2[转发-参考用]

    centos5.5上安装oracle 11g R2[转发-参考用] + ------------------ CentOS 5.5上安装配置oracle 11g R2  --------------- ...

  7. Eclipse上安装GIT插件EGit及使用

    一.Eclipse上安装GIT插件EGit Eclipse的版本eclipse-java-helios-SR2-win32.zip(在Eclipse3.3版本找不到对应的 EGit插件,无法安装) E ...

  8. ubuntu19 安装git_如何在Ubuntu 20.04上安装Git

    Git是世界上最受欢迎的分布式版本控制系统,被许多开源和商业项目使用.它使您可以与其他开发人员在项目上进行协作,跟踪代码更改,还原到上一阶段,创建分支等. Git最初是由Linux内核的创建者Linu ...

  9. Linux 上安装 SQL Server

    RHEL:在 Linux 上安装 SQL Server - SQL Server | Microsoft Docs

最新文章

  1. [原创]WildPackets Omnipeek介绍
  2. 使用Python管理Azure(1):基础配置
  3. linux 下简单的ftp客户端程序
  4. VS2015+cmake3.8+opencv3.2+opencv-contrib3.2编译及配置步骤
  5. 【译】 Intelligent Agent Based RFID Wireless Body Sensor Mesh Network
  6. Error:The module 'app' is an Android project without build variants, and cannot be built.
  7. tomcat中conf\Catalina\localhost目录下的J2EE项目META-INF配置文件
  8. Python中print()函数不换行的方法
  9. 5 Ways to Speed Up Your Rails App
  10. CentOS(Linux)安装KETTLE教程 并配置执行定时任务
  11. 求极限的若干方法经验和教训
  12. SIP中603/decline中的意义
  13. STM32互补PWM输出使能控制
  14. 如花搞笑图片集锦(转贴)
  15. 爱因斯坦思考题(多维穷举)
  16. 计算机各键的名称和作用,space是哪个键键盘各键位名称及功用详解
  17. 关于鸿蒙系统传统文化的作文,【热门】传统文化作文汇编6篇
  18. 【Go学习笔记】数据类型之切片(slice)
  19. 使用keytool生成SSL证书
  20. 整理的大学生所需信息的各个网站首页

热门文章

  1. axure8.0导出页面打不开问题_excel怎么转pdf?excel打不开?转换成PDF就行了
  2. 【C语言】str类与men库函数的实现(如:strcpy,strcmp,strstr,strcat,memmove,memcpy)
  3. socket 编程篇六之IPO多路复用-select poll epoll
  4. tiny4412初期环境搭建
  5. 07-图4 哈利·波特的考试 (25 分)
  6. 【Leetcode | 01】Backtracking
  7. 三面美团Java岗,面试竟然被这31道Java基础题难倒了
  8. web开发软件,HTML如何添加锚点,成功入职阿里
  9. 阿里P8亲自讲解!javawhile循环语句用法
  10. shutil模块、json和pickle模块