开发者社区> 搞么罗> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

手把手教你如何搭建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-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

二、配置环境变量

任务时间: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 gituser

然后为这个账号设置密码

passwd gituser

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

四、初始化 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 服务器托管了

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Red Hat Enterprise Linux 6 “桌面”、“工作站”、“服务器” 版本差异比较
<p style="margin: 10px auto; padding-top: 0px; padding-bottom: 0px; font-family: Verdana, Arial, Helvetica, sans-serif; line-height: 24px; ">Red Hat Enterprise Linux 6,共有三个版本。通过安装发现,所谓的“桌面”、“工作站”、“服
2369 0
【开发工具】【windows】Visual Studio Code(VS Code)远程Linux服务器环境搭建——SFTP篇
【开发工具】【windows】Visual Studio Code(VS Code)远程Linux服务器环境搭建——SFTP篇
0 0
【Linux】【CentOS】【FTP】FTP服务器安装与配置1(vsftpd、lftp)
【Linux】【CentOS】【FTP】FTP服务器安装与配置(vsftpd、lftp)
0 0
【Linux】【CentOS】【FTP】FTP服务器安装与配置2(vsftpd、lftp)
【Linux】【CentOS】【FTP】FTP服务器安装与配置(vsftpd、lftp)
0 0
Go打包 部署 优雅的把Go项目部署到Linux服务器
go项目运行之后,修改.env文件不会立即生效,需要重启go服务才会生效;go项目运行之后,修改config.ini配置文件会立即生效,无需重启go服务
0 0
linux服务器怎么检查后门账户
在Linux系统里植入账户后门是一个极其简单高效的管理权限维持办法。hack在获得目标系统权限的情况下,利用建立一个操作系统账户当做持久化的聚集点,如此一来随时都可以利用工具链接到目标操作系统,实现对目标服务器进行长期操控的目的。依据获得的shell方式不一样,建立操作系统账户的办法也不尽相同,一般shell方式可分为交互模式和非交互模式这两种情况:
0 0
【服务器环境搭建】Linux安装Nginx
最近要部署一个项目 但是不能用 宝塔面板 啊这!赶快学习学习Linux安装Nginx!
0 0
安装 Linux 服务器面板管理工具 | 学习笔记
快速学习 安装 Linux 服务器面板管理工具
0 0
在linux服务器上监视指定程序是否正常进行
运行在linux服务器的程序,运行一段时间会自动断开终止运行,所以写了如下脚本去监视该进程是否正常运行,如果指定进程断掉,则自动重新启动。并将日志写入指定文件中:
0 0
Linux服务器远程连接只允许密钥文件
Linux服务器远程连接只允许密钥文件
0 0
+关注
搞么罗
阿里云ping https://ping.gaomeluo.com/aliyun/
文章
问答
文章排行榜
最热
最新
相关电子书
更多
华为Git实践:工作模式创新,及多中心分布式架构
立即下载
AGit-Flow:新一代高效Git协同模型
立即下载
AGit-flow:新一代高效Git协同模型
立即下载