搭建 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)如下:

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

使用搭建好的 Git 服务

克隆 test repo 到本地

cd ~ && git clone [email protected]<您的 CVM IP 地址>:/data/repositories/test.git

实验完成

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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • git 基础架构搭建

    老七Linux
  • Centos 7 Java配置maven+jenkins+git(svn)+tomcat自动编译和部署(持续集成)

    老七Linux
  • 初识 MongoDB 服务

    老七Linux
  • 向github中已创建好的repository提交文件

    此时可这样解决: git config core.filemode false git config core.eol lf

    绝命生
  • Unity3D--项目之Git版本仓库管理工具的使用

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

    雷潮
  • Qt Creator 搭配Git 版本控制

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

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

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

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

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

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

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

    JavaEdge
  • 将Hexo部署到云服务器

    看到群里好多人问如何将Hexo部署到云服务器。按我的思想,如果有服务器谁还用Hexo?但居然还真有人。趁着上个月白嫖的腾讯云的机器还没过期,赶紧重装个系统,来咕...

    Dreamy.TZK

扫码关注云+社区

领取腾讯云代金券