专栏首页上云手把手教你如何搭建Git服务器?
原创

手把手教你如何搭建Git服务器?

一、下载安装 git

任务时间:5min ~ 10min

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

此实验以 CentOS 7.2 x64 的系统为环境,搭建 git 服务器。

安装依赖库和编译工具

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

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

安装编译工具

yum install gcc perl-ExtUtils-MakeMake

下载 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

二、配置环境变量

任务时间:5min ~ 10min

将 git 目录加入 PATH

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

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

生效环境变量

source /etc/bashrc

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

git --version

三、创建 git 账号密码

任务时间:5min ~ 10min

创建 git 账号

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

useradd -m gituse

然后为这个账号设置密码

passwd gituse

控制台输入创建密码后,输入您自定义的密码,并二次确认。

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

任务时间:5min ~ 10min

创建 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 所在目录], 编辑 /etc/passwd 文件,将最后一行关于 gituser 的登录 shell 配置改为 git-shell 的目录如下

示例代码:/etc/passwd

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

如果按照刚才的步骤执行, 这个位置应该是 /usr/local/git/bin/git-shell, 否则请通过 which git-shell 命令查看位置 安全目的, 限制 git 账号的 ssh 连接只能是登录 git-shell

使用搭建好的 Git 服务

克隆 test repo 到本地

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

**实验完成**

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

如需云服务器,推荐腾讯云服务器,可以领取代金券。

腾讯云2860代金券:https://cloud.tencent.com/act/vouchers/list

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 这就是让程序猿删库跑路的命令,使用须谨慎

    删库跑路这种说法其实也是程序员枯燥生活一种自我解压的方式,真要这么玩基本上这个程序员在软件行业也就不用混了,不仅仅是职业素质的问题,还涉及到人品问题了,曾经听过...

    云上云
  • 腾讯云服务器如何使用SSH密匙对登录?

    腾讯云Linux服务器使用SSH管理主机是很方便的,目前SSH管理主机主要有两种,即SSH密码登录Linux服务器和SSH密匙登录服务器,小编建议搭建选择SSH...

    云上云
  • 腾讯云服务器如何设置安全组?

    入站规则:表示允许到达与安全组相关联的云服务器的入站流量。 出站规则:表示离开云服务器的出站流量。

    云上云
  • 搭建 GIT 服务器

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

    老七Linux
  • Unity3D--项目之Git版本仓库管理工具的使用

    例如:在电脑D盘创建一个如下图的GitCS_Project文件夹来存放我们本地的git仓库

    雷潮
  • git命令行界面

      在网页github上建立了team-sz仓库,安装好客户端后,打开git shell,然后输入下面的命令。

    饶文津
  • Qt Creator 搭配Git 版本控制

    再次介绍一下Git的使用,这次是在Coding.net上部署项目的。这个是写给大作业合作的小伙伴们(我和我的A奶朋友们和某A的男朋友)看的。

    饶文津
  • git学习总结01 — 初始化

    最初学习 git 已是多年前在校期间,用于课程设计,场景也相对简单。实习后由于所在公司一直使用 svn,缺少协作实践场景,时间久了 git 知识已逐渐淡忘。公司...

    CS逍遥剑仙
  • git 基本配置和使用

    之前是写过关于git的一些东西的,但是都是使用的过程中遇到的问题,就简单的记录了一下,为了解决问题而写的,没有系统的写过git的东西,今天就简单的先写一下关于g...

    何处锦绣不灰堆
  • Git工作/面试必知必会操作-命令行篇

    版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统。开发中,我们仅对保存着软件源代码的文本文件作版本控制管理,但实际上,可以对任何类型...

    JavaEdge

扫码关注云+社区

领取腾讯云代金券