centos5.8上安装git server

    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

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

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

相关文章

实验五——循环结构学习总结

1.本次课学习到的知识点: (1)循环结构四要素:循环初始化,循环条件,循环体,循环变量修改 (2)循环语句包括:while语句、do-while语句、for语句、break语句 cont…

前端复制字符串到excel生成表格

场景需求:前端页面有个按钮,点击时候会复制一段文本,然后将复制的文本直接copy黏贴到excel表格里,就会自动形成对应的表格数据。 以下代码可以直接复制使用(有效的点赞支持一波): copyAll () {…

[QUICK UI] 有哪些目前流行的前端框架

From: https://blog.csdn.net/qianduankuangjia/article/details/78185047 使用前端框架其实和开发的项目有一定的关系,因为在不同的项目中可能会用到不同的组件功能,这样说可能有一点片面,但是在面临几十种再做出选择的时候确实有一定的难度…

XP设置文件夹默认打开方式改为“资源管理器”

为什么80%的码农都做不了架构师?>>> 在“资源管理器”中单击“工具→文件夹选项→文件类型”,在“已注册的文件类型”下的列表框中找到一个名为“资料夹”的选项(按文件类型排序的话它会排在最后面几个),选…

2018年五大最佳前端框架比较,程序员会怎么选?

From: https://blog.csdn.net/qq_41852103/article/details/79619250 现在有大量的CSS前端框架可用。但真正好的屈指可数。本文将比较五个最佳前端框架,每个框架都有自己的长处和短处,以及特定的应用领域,使你可以根据特定项目的需求进行选择…

解决ant design vue中的modal弹框样式修改无效问题 修改modal样式无效

ant design vue中的modal弹框修改样式无效问题 ant中的弹框样式是修改不了的 原因在于弹框modal被挂载在最大的元素div外面了 所以需要将挂载在某个html元素上 在modal外面主动套一个div 在修改样式即可:getContainer"()>$refs.ref"

网络安全——ipsec

网络安全——ipsecInternet 协议安全性 (IPSec)”是一种开放标准的框架结构,通过使用加密的安全服务以确保在 Internet 协议 (IP) 网络上进行保密而安全的通讯,它通过端对端的安全性来提供主动的保护以防止专用网络与 Internet 的***Ipsec是一个协议集合…

vue-axios下载文件流blob,ie下载报传递给系统调用的数据区域太小.ie文件流下载报错;文件下载失败将blob的错误信息转换成json格式

本次下载是后台文件流传输,前端下载,前端将拿到的下载id和名称downloadName传递给下载方法;如果是多个下载,可以采用数组for循环 情景描述: 1.如果符合导出条件, 后端直接返回数据流,如下图所示…

前端开发框架对比

From: https://www.cnblogs.com/xtdxs/p/6540933.html 本文选取了 Bootstrap、jQuery UI、jQuery Mobile、Sencha ExtJS、Sencha Touch、Sencha GXT、Dojo、Dojo Mobile、Mootools、Foundation、YUI、Kissy、QWrap 等 16 个国内外前端开发框架进行初步的横向比较,可…

持续集成工具FinalBuilder使用心得

FinalBuilder 使用这款自动化创建和发布管理工具,软件开发者可以定义和维护一个可靠的以及可重复创建的程序。FinalBuilder包括集成的带有版本的控制系统,文件和目录选项,重复器,源代码编译,测试工具,数据库…

windows10和ubuntu16.04双系统下时间不对的问题

先在ubuntu下更新一下时间,确保时间无误: sudo apt-get install ntpdate sudo ntpdate time.windows.com然后将时间更新到硬件上: sudo hwclock --localtime --systohc over转载于:https://www.cnblogs.com/warling/p/5965650.html

yarn安装依赖包报错 error An unexpected error occurred: “https://registry.npm.taobao.orgnpm/element-ui: get

yarn安装依赖包报错,error An unexpected error occurred: “https://registry.npm.taobao.orgnpm/element-ui: getaddrinfo ENOTFOUND registry.npm.taobao.orgnpm registry.npm.taobao.orgnpm:443”. 这是因为网络不好导致的下载依赖包请求超时报错,…

从零开始搭建自己的VueJS2.0+ElementUI单页面网站(一、环境搭建)

From: https://blog.csdn.net/u012907049/article/details/72764151 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012907049/article/details/72764151 前言 VueJS可以说是近些年来最火的前端框架之一,越…

(转)[Android分享] Android中用Ant把ndk的so文件打包进apk

在用ant进行打包apk文件时&#xff0c;如果用到ndk&#xff0c;那么如何把so文件打包进去呢&#xff1f;其实很简单&#xff0c;就在target为package的xml段里加上这2行<arg value"-nf"/><arg value"${external-lib-ospath}" />其中${external…

辨异 —— 不同的编程语言(编译型语言、解释型语言、动态语言、静态语言)...

Java 越来越强大&#xff0c;覆盖领域也越来越多&#xff0c;变得无所不能的时候&#xff0c;和那些仅专注于一个领域的的编程语言相比&#xff0c;它反而显得不够专业&#xff1b;1. 算符优先级 优先级意味着结合律&#xff1b; C/C&#xff1a;位运算符&#xff08;&|^&a…

解决微信小程序报[ app.json 文件内容错误] app.json: app.json 未找到,未找到入口 app.json 文件,或者文件读取失败,请检查后重新编译。小程序app.json报错

编译报错&#xff1a;[ app.json 文件内容错误] app.json: app.json 未找到 原因&#xff1a;由于project.config.json文件的miniprogramRoot小程序根目录属性找不到aap.json的路径&#xff08;可能是错误的路径&#xff0c;也可能是没有这一行代码&#xff09;&#xff1b; &…

css3新单位vw、vh、vmin、vmax的使用详解(附样例)

From: http://www.hangge.com/blog/cache/detail_1715.html 像 px、em 这样的长度单位大家肯定都很熟悉&#xff0c;前者为绝对单位&#xff0c;后者为相对单位。CSS3 又引入了新单位&#xff1a;vw、vh、vmin、vmax。下面对它们做个详细介绍。 一、基本说明 1&#xff0c;vw…

数据结构之递归

第一篇&#xff1a;数据结构之链表 第二篇&#xff1a;数据结构之栈和队列 第三篇&#xff1a;数据结构之二叉树 第四篇&#xff1a;数据结构之排序 第五篇&#xff1a;数据结构之字符串 在这篇文章里&#xff0c;我们主要讨论和递归相关的话题。递归是数据结构中解决复杂问题时…

HBuilderX搭建微信小程序;HBuilderX开发uni-app微信小程序;uni-app开发微信小程序;使用uni-app搭建微信小程序;使用uni-ui模板搭建微信小程序步骤

1.选择模板 uni-ui 2.得到创建项目 3.获取APPid 在微信小程序电脑后台获取APPID 这个方法适用于自己申请的微信小程序&#xff08;自己用的小程序&#xff09; 打开微信小程序官网&#xff1a;https://mp.weixin.qq.com/ 并登陆 4.项目打包 打包后运行在微信小程序工具 才…

Scala笔记整理

使用类型参数化数组&#xff08;Array&#xff09;创建java.math.BigInteger实例&#xff1a; var big new java .math.BigInteget(“12345678”) 对数组进行访问&#xff1a;圆括号形式 val greetingStrings :Array[String] new Array[String] (3) greetingStrings(0) “he…