zoukankan      html  css  js  c++  java
  • 基于 CentOS 7 搭建 Git服务器

      Git 是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。

    ⒈安装依赖库和编译工具

      1.安装依赖库

    yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel

      2.安装编译工具

    yum install -y gcc perl-ExtUtils-MakeMaker

    ⒉移除已安装的Git(如没有安装过可以忽略此步骤)

    yum remove git

    ⒊下载安装Git

      1.新建下载目录

      选一个目录,用来放下载下来的安装包,这里将安装包放在 /usr/local/src 目录里

    cd /usr/local/src

      2.到官网找一个新版稳定的源码包下载到 /usr/local/src 文件夹里(我这里目前最新为2.22)

    wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.22.0.tar.gz

      3.解压后编译

        ⅰ解压

    tar -zvxf git-2.22.0.tar.gz

        ⅱ编译

    cd git-2.22.0/    进入解压目录
    make all prefix=/usr/local/git    执行编译

        ⅲ编译完成后, 安装到 /usr/local/git 目录下

    make install prefix=/usr/local/git

    ⒋配置Git

      1.配置环境变量

        ⅰ将 git 目录加入 PATH

        将原来的 PATH 指向目录修改为现在的目录

    echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc

        ⅱ使更新后的环境变量生效

    source /etc/bashrc

        ⅲ测试环境变量是否生效

    git --version

        此时我们能查看 git 版本号,说明我们已经安装成功了。

      2.创建 git 账号密码

        ⅰ创建账号

        为我们刚刚搭建好的 git 创建一个账号

    useradd -m fanqi

        ⅱ创建密码

        然后为这个账号设置密码(输入命令后系统要求输入密码,连续两次输入密码即可创建)

    passwd fanqi

      3.初始化 git 仓库并配置用户权限

        ⅰ创建 git 仓库并初始化

        我们创建 /data/repositories 目录用于存放 git 仓库

    mkdir -p /data/repositories    创建目录
    cd /data/repositories/ && git init --bare test.git    进入这个目录并初始化这个仓库

        ⅱ配置用户权限

        给 git 仓库目录设置用户和用户组并设置权限

    chown -R fanqi:fanqi /data/repositories
    chmod 755 /data/repositories

        ⅲ更改git的shell为git-shell

          ⑴查找git-shell所在目录

          如果按照刚才的步骤执行, 这个位置应该是 /usr/local/git/bin/git-shell, 否则请通过 which git-shell 命令查看位置

          ⑵编辑 /etc/passwd 文件,将最后一行关于 gituser 的登录 shell 配置改为 git-shell 的目录(安全目的, 限制 git 账号的 ssh 连接只能是登录 git-shell)

    fanqi:x:500:500::/home/fanqi:/usr/local/git/bin/git-shell

        ⅳ使用搭建好的 Git 服务,克隆 test repo 到本地

    cd ~ && git clone fanqi@123.207.27.137:/data/repositories/test.git
  • 相关阅读:
    软件实施工程师是一个什么样的工作?他的具体工作内容是什么?发展前景怎样?
    做金融(基金、证券)方面的软件实施工程师有没有发展前途?职业发展空间如何。
    做软件实施工程师的一点建议
    系统实施工程师主要工作职则
    软件实施工程师
    UE编辑器编译和运行java设置
    猜数字
    猜数字
    Problem G
    Problem G
  • 原文地址:https://www.cnblogs.com/fanqisoft/p/11295185.html
Copyright © 2011-2022 走看看