博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
centos5.8上安装git server
阅读量:6250 次
发布时间:2019-06-22

本文共 1889 字,大约阅读时间需要 6 分钟。

    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

你可能感兴趣的文章
【技术分享】VSAN如何处理磁盘或主机故障
查看>>
OS快捷键
查看>>
linux内核中Kconfig和Makefile 详解
查看>>
ASP.NET 使用List<T>.Remove 不生效
查看>>
Nginx的第三方模块ngx-fancyindex安装
查看>>
TCP有限状态机
查看>>
XenServer常用Debug问题的命令介绍
查看>>
算法分析-快速排序QUICK-SORT
查看>>
Web服务基础六之编译安装配置RHEL+Apache+MySQL+PHP+ZendOptimize
查看>>
log4net 使用
查看>>
通过bat文件运行jar包程序
查看>>
关于hive RegexSerDe的源码分析
查看>>
V$INSTANCE视图
查看>>
OpenCart之侧边浮动联系我们表单(Side Contact Us Form)
查看>>
PureWhite OpenCart 商城自适应主题模板 ABC-0009
查看>>
docker整理文档
查看>>
zabbix安装配置
查看>>
Awk练习笔记
查看>>
RAID级别详解,如何在Linux下实现软RAID图文解析。
查看>>
CentOS 配置***客户端
查看>>