一. 安装 libiconv
这个是非常规项 如果服务器原来已经装过 可以不装 但是如果git安装时候提示找不到libiconv 需要在git的安装参数中指定安装路径
最新版是 1.15

  1. wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz
  2. tar -zxvf libiconv-1.15.tar.gz
  3. cd libiconv-1.15
  4. ./configure --prefix=/usr/local/libiconv && make && make install
  5. rm -rf /usr/lib/libiconv.so //删除原有的软连接
  6. rm -rf /usr/lib/libiconv.so.2
  7. ln -s /usr/local/lib/libiconv.so /usr/lib 新建软连接
  8. ln -s /usr/local/lib/libiconv.so.2 /usr/lib

二. 卸载原有git 默认git一般版本都比较低 1.7 1.8的 现在已经2.9+了 所以先卸载原来老的

  1. rpm -e --nodeps git

三 安装git 具体版本自己找 本文以2.9.2为例

  1. cd ../ #返回上级目录
  2. wget https://github.com/git/git/archive/v2.9.2.tar.gz
  3. tar -xzvf v2.9.2.tar.gz
  4. cd git-2.9.2
  5. make prefix=/usr/local/git all #如果报错 使用下面的方式
  6. make prefix=/usr/local/git install #如果报错 使用下面的方式
  7. make configure
  8. ./configure --prefix=/usr/local/git --with-iconv=/usr/local/libiconv #libiconv地址改成自己的
  9. make && make install
  10. vi /etc/profile #添加到环境变量
    export PATH="/usr/local/git/bin:$PATH"
    source /etc/profile #是配置立即生效
  11. git --version #查看版本号
  12. 将git设置为默认路径,不然后面克隆时会报错
    ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack
    ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack

四. 配置git

  1. Git服务器打开RSA认证
    vi /etc/ssh/sshd_config #以下项前面的#去掉
    1.RSAAuthentication yes
    2.PubkeyAuthentication yes
    3.AuthorizedKeysFile .ssh/authorized_keys

  2. 禁止Shell登录
    vi /etc/passwd
    git:x:502:502::/home/git:/bin/bash 修改成下面的 git的路径要设置成自己的
    git:x:502:502::/home/git:/usr/local/git/bin/git-shell

  3. 创建git用户组和用户
    groupadd git
    useradd git -g git
    passwd git
    su - git #切换到刚创建的git用户

  4. 创建用户公钥文件
    cd /home/git/
    mkdir .ssh #新建文件夹
    chmod 700 .ssh
    touch .ssh/authorized_keys #新建文件
    chmod 600 .ssh/authorized_keys
    后续用户只需要向authorized_keys中添加自己的公钥

五. 创建仓库及使用
1. cd /home/git #在某个文件夹下创建
git init --bare test.git #创建一个空仓库 仓库名字叫 test

  2.  本地克隆仓库
git clone git@your-ip:test.git

CentOS7 搭建GIT环境的更多相关文章

  1. [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境

    [.net 面向对象程序设计进阶] (25) 团队开发利器(四)分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境 本篇导读: 前面介绍了两款代码管理工具 ...

  2. 分布式版本控制系统Git——使用GitStack+TortoiseGit 图形界面搭建Git环境(服务器端及客户端)(转)

    近期想改公司内部的源码管控从TFS为git,发现yubinfeng大侠有关git的超详细大作,现将其转载并记录下,以防忘记,其原博客中有更加详细的git及.net开发相关内容.原文地址:http:// ...

  3. CentOS7——搭建LNMP环境(WordPress案例)

    CentOS7--搭建LNMP环境(WordPress案例) LNMP组成介绍 LNMP(Linux-Nginx-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统 ...

  4. CentOS7搭建git服务器

    在CentOS7上搭建git服务器, 1.在Linux上安装git yum install -y git 验证是否安装成功,出现版本号即成功 git --version 2.创建版本库和用户 创建用户 ...

  5. Centos7 搭建lnmp环境 (centos7+nginx+MySQL5.7.9+PHP7)

    阿里云一台服务器出现问题! 我估计是一键安装包环境的原因,所以打算重新搭建下环境! 首先,当然是先做好快照!安全第一! 对系统盘做更换系统操作,装上纯净版的centos. 装好后,进入系统 一.挂载数 ...

  6. centos7 搭建 docker 环境

    1. 安装centos7  http://isoredirect.centos.org/centos/7/isos/x86_64/ 下载 everything 版本,最小化版本可能缺失很多东西 我是在 ...

  7. centos7搭建sonarqube环境+jenkins部署全流程

    一.简介sonarqube是一个用于代码质量管理的开源平台,用于管理源代码的质量 不遵循代码标准sonar可以通过PMD,CheckStyle,Findbugs等等代码规则检测工具规范代码编写.潜在的 ...

  8. 阿里云centos7搭建wordpress环境

    阿里云搭建wordpress系统 一.购买阿里云 二.安装php开发环境 1. https://www.apachefriends.org/zh_cn/index.html网站下载linux下的xam ...

  9. CentOS7 搭建Git服务器(转)

    1.在服务器上创建一个新用户 adduser git 2.创建一个Git仓库 cd /data/git //切换到希望创建工作区的目录git init --bare sample.git //创建一个 ...

随机推荐

  1. python(day1-11)

    day1:Python入门 day2:数字类型字符编码 day3:函数 day4:模块与包 day5:常用模块 day6:面向对象 day8:异常处理 day9:网络编程 day10:并发编程 day ...

  2. Log4Net使用教程

    简介 为方便跟踪程序运行情况,我们可以记录系统运行异常日志,winform和web都可以通过继承异常或者try来实现. 官方网站:http://logging.apache.org/log4net/ ...

  3. WCF服务上应用protobuf z

    protobuf是google提供的一个开源序列化框架,类似于XML,JSON这样 的数据表示语言,其最大的特点是基于二进制,因此比传统的XML表示高效短小得多.虽然是二进制数据格式,但并没有因此变得 ...

  4. Linux入门-1 常用命令

    写在前面 当年初学Linux的时候,在网上找到nash_su大神的一套视频,讲的特别好,基础部分看了好几遍,很多知识点让我受益至今. 十分庆幸当年的选择,也十分感谢nash_su大神,祝你事事顺心,每 ...

  5. shell单引号双引号详解

    linux shell中的单引号与双引号的区别(看完就不会有引号的疑问了) " "(双引号)与 ' '(单引号)的区别    你在shell prompt(shell 提示)后面敲 ...

  6. PHP小错误及分析

    即使是经验丰富的程序猿,在编程的过程中犯个错误也是在所难免的.如果开发人员不能注意到这些错误,也无法了解编译器报错信息的含义,那么这些错误信息不仅毫无用处,还会常常让人感到沮丧,所以更好地理解错误信息 ...

  7. 【深入理解JAVA虚拟机】第三部分.虚拟机执行子系统.2.虚拟机类加载机制

    1.概述 虚拟机把描述类的数据从Class文件加载到内存,并对数据进行校验. 转换解析和初始化,最终形成可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制. 2.类加载顺序 类从被加载到虚拟 ...

  8. ZT 为什么pthread_cond_t要和pthread_mutex_t同时使用 || pthread/Linux多线程编程

    为什么线程同步的时候pthread_cond_t要和pthread_mutex_t同时使用 (2009-10-27 11:07:23) 转载▼ 标签: 杂谈 分类: 计算机 举一个例子(http:// ...

  9. python功能代码块记录

    python Autopep8——按PEP8风格自动排版Python代码(参考链接) autopep8 --in-place --aggressive --aggressive test_autope ...

  10. 解析csv数据导入mysql的方法

    mysql自己有个csv引擎,可以通过这个引擎来实现将csv中的数据导入到mysql数据库中,并且速度比通过php或是python写的批处理程序快的多. 具体的实现代码示例: 代码如下: load d ...