搭建Git服务器教程(整理自腾讯云开发者实验室)

下载安装 Git

Git 是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。
此实验以 CentOS 7.2 x64 的系统为环境,搭建 git 服务器。

  • 安装依赖库和编译工具
    为了后续安装能正常进行,我们先来安装一些相关依赖库和编译工具

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

    安装编译工具

    yum install gcc perl-ExtUtils-MakeMaker

  • 下载 Git

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

    cd /usr/local/src

    到官网找一个新版稳定的源码包下载到 /usr/local/src 文件夹里

    wget https://www.kernel.org/pub/software/scm/git/git-2.10.0.tar.gz

  • 解压和编译

    解压下载的源码包

    tar -zvxf git-2.10.0.tar.gz

    解压后进入 git-2.10.0 文件夹

    cd git-2.10.0

    执行编译

    make all prefix=/usr/local/git

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

    make install prefix=/usr/local/git

配置环境变量

  • 将 git 目录加入 PATH

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

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

    生效环境变量

    source /etc/bashrc

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

    git –version

创建 git 账号密码

  • 创建 git 账号

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

    useradd -m gituser

    然后为这个账号设置密码 (控制台输入创建密码后,输入您自定义的密码,并二次确认。)

    passwd gituser

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

  • 创建 git 仓库并初始化
    我们创建 /data/repositories 目录用于存放 git 仓库

    mkdir -p /data/repositories

    创建好后,初始化这个仓库

    cd /data/repositories/ && git init –bare test.git

  • 配置用户权限

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

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

    查找 git-shell 所在目录(如果按照刚才的步骤执行, 这个位置应该是 /usr/local/git/bin/git-shell, 否则请通过 which git-shell 命令查看位置) , 编辑 /etc/passwd 文件,将最后一行关于 gituser 的登录 shell 配置改为 git-shell 的目录 (安全目的, 限制 git 账号的 ssh 连接只能是登录 git-shell), 如下:

    示例代码:/etc/passwd

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

  • 使用搭建好的 Git 服务

    克隆 test repo 到本地

    cd ~ && git clone gituser@<您的 CVM IP 地址>:/data/repositories/test.git

实验完成

恭喜,Git 服务器搭建完成, 从此以后你可以方便地将你的本地代码提交到 Git 服务器托管了。

搭建Git服务器教程(整理自腾讯云开发者实验室)的更多相关文章

  1. Centos搭建 Git 服务器教程

    搭建 GIT 服务器教程 下载安装 git Git 是一款免费.开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目. 此实验以 CentOS 7.2 x64 的系统为环境,搭建 git 服 ...

  2. 来腾讯云开发者实验室 学习.NET Core 2.0

    腾讯云开发者实验室为开发者提供了一个零门槛的在线实验平台,开发者实验室提供的能力: 零门槛扫码即可免费领取实验机器,支持使用自有机器参与,实验完成后支持保留实验成果: 在线 WEB IDE 支持 sh ...

  3. 来腾讯云开发者实验室 学习.NET

    腾讯云开发者实验室为开发者提供了一个零门槛的在线实验平台,开发者实验室提供的能力: 零门槛扫码即可免费领取实验机器,支持使用自有机器参与,实验完成后支持保留实验成果: 在线 WEB IDE 支持 sh ...

  4. Windows平台使用Gitblit搭建Git服务器教程

    Windows平台使用Gitblit搭建Git服务器图文教程 Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭 ...

  5. TortoiseGit - Win7使用Gitblit搭建Git服务器教程

    第一步:下载Java并且安装 第二步:配置Java环境变量环境变量 --> 系统变量1新建:变量名:JAVA_HOME变量值:D:\Program Files (x86)\Java\jdk1.6 ...

  6. 在windows上搭建git服务器教程

    1.首先,需要确保windows系统上安装并配置了Java运行环境,JDK>=1.7. 2.下载Gitblit,下载地址:http://www.gitblit.com/ 3.解压缩下载的压缩包即 ...

  7. 搭建 GIT 服务器教程

  8. Windows平台使用Gitblit搭建Git服务器图文教程

    Git服务现在独树一帜,相比与SVN有更多的灵活性,最流行的开源项目托管网站Github上面,如果托管开源项目,那么就是免费使用的,但是闭源的项目就会收取昂贵的费用,如果你不缺米,那么不在本文讨论的范 ...

  9. Windows平台上使用Github搭建Git服务器的图文教程

    Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到通信协议,例如SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以 ...

  10. Windows平台下搭建Git服务器的图文教程

    Git没有客户端服务器端的概念,但是要共享Git仓库,就需要用到SSH协议(FTP , HTTPS , SFTP等协议也能实现Git共享,此文档不讨论),但是SSH有客户端服务器端,所以在window ...

随机推荐

  1. IDEA把项目推送到Gitee

    1.在gitee注册账户:QQ注册就是:QQ邮箱和密码 2.新建一个自己的仓库 3.打开本地的IDEA中的项目 4.添加git项目标记||前提都是IDEA已关联你的GIt软件 5.查看git项目标记是 ...

  2. 程序员面试干货:漫谈计算机网络:数据链路层 ----- 数据链路路在何方? --从点对点数据传输 到 "广泛撒网,重点捕获"的局域网

    面试答不上?计网很枯燥? 听说你学习 计网 每次记了都会忘? 不妨抽时间和我一起多学学它 深入浅出,用你的空闲时间来探索计算机网络的硬核知识! 博主的上篇连载文章<初识图像处理技术> 图像 ...

  3. python-名称空间与作用域

    名称空间与作用域 (1)名称空间(namespaces) 用来存放名字的地方是对栈区的划分 有了名称空间,就可在栈区中放相同的名字 1.1.内置名称空间 存放的名字:是Python解释器内置的名字 & ...

  4. 医疗在线OLAP场景下基于Apache Hudi 模式演变的改造与应用

    背景 在 Apache Hudi支持完整的Schema演变的方案中(https://mp.weixin.qq.com/s/rSW864o2YEbHw6oQ4Lsq0Q), 读取方面,只完成了SQL o ...

  5. 【Java SE进阶】Day01 Object类、日期时间类、System类、StringBuilder类、包装类

    一.Object类 1.概述:Java语言的根类/超类,默认继承自Object类 2.常用方法 toString():返回对象的字符串表示--对象类型@内存地址值 可以对其重写@Override eq ...

  6. 【每日一题】2022年2月10日-NC160 二分查找-I

    描述请实现无重复数字的升序数组的二分查找 给定一个 元素升序的.无重复数字的整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标(下标 ...

  7. 复杂mysql/多表查询

    目录 多表查询的两种方法 sql语句基础语法补充 concat / existe / 表字段 增加 修改 删除 复杂sql练习题 多表查询的两种方法 方式1:连表操作 inner join 内连接 s ...

  8. Python全栈工程师之从网页搭建入门到Flask全栈项目实战(5) - Flask中的ORM使用

    1.理解ORM ORM是MTV模型里面的Model模型 ORM(Object Relational Mapping),对象关系映射 举例:学生选课 学生和课程这两个实体,一个学生可以选择多门课程,一个 ...

  9. Ubuntu20.04 Java相关环境(JDK、Mysql、Redis、nacos、influxdb)部署以及运行

    重装了系统,系统版本号为:Ubuntu20.04 1.云平台 登录云平台,选择要重装的服务器,关机.一键重装即可 2.安装jdk 下载jdk-8u341-linux-x64.tar.gz,并复制到服务 ...

  10. python 之匿名函数(lambda)

    什么是匿名函数?匿名函数就是不用def关键字,使用lambda关键字定义的一个函数.匿名函数简约而不简单. 匿名函数的格式: lambda[ paramters1, paramters2 , .... ...