基于 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
基于 CentOS 7 搭建 Git服务器的更多相关文章
- CentOs上搭建git服务器
CentOs上搭建git服务器 首先安装setuptools wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0 ...
- 基于 CentOS 8 搭建 openLDAP 服务器
转载请注明原文地址:基于 CentOS 8 搭建 openLDAP 服务器 环境 OS: CentOS 8.4.2105 PHP: 7.4.21 注意 CentOS 7 中可能默认提供了 openLD ...
- 【CentOS】搭建git服务器
参考资料: https://github.com/jackliu2013/recipes/blob/master/doc/linux/CentOS_6.4_git服务器搭建.md http://blo ...
- 在centos上搭建Git服务器
第一步:先安装一些相关依赖库和编译工具 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel yum in ...
- Centos 7 搭建git服务器及使用gitolite控制权限
一.安装git yum install git git --version #查看git版本 二.升级git(可选,如果之前已经安装git,需要升级git到最新版本) git clone https: ...
- CentOS下搭建Git服务器
1.首先需要安装Git,可以使用yum源在线安装: [root@localhost Desktop]# yum install -y git 2.创建一个git用户,用来运行git服务 # addus ...
- CentOS下搭建Git服务器(基于SSH协议)
1,安装Git所需依赖包 # yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel # ...
- centos 搭建git服务器
centos 6搭建git服务器 安装 rpm -ivh http://mirrors.aliyun.com/epel/epel-release-latest-6.noarch.rpm yum ins ...
- CentOS 6.4 搭建git 服务器
CentOS 6.4 搭建git 服务器 (2013-11-22 19:04:09)转载▼ 标签: it 分类: Linux 此文件是依据markdown所编写,更好效果参见本人github的文档ht ...
随机推荐
- The Road to SDN: An Intellectual History of Programmable Networks
文章名称:The Road to SDN: An Intellectual History of Programmable Networks 文章来源:Feamster N , Rexford J , ...
- MIME协议(三) -- MIME邮件的组织结构
一封MIME邮件可以由多个不同类型的MIME消息组合而成,一个MIME消息表示邮件中的一个基本MIME资源或若干基本MIME消息的组合体.每个MIME消息的数据格式与RFC822数据格式相似,也包括头 ...
- Codeforces Round #371 (Div. 2)
之前做过E题,是一个DP. A题,水题,两线段求交集. B题,set一下判断即可. C题,水题.但是我写麻烦了,直接转化成二进制再做,比用字符串relize()以后再map要好写得多. D题,交互题, ...
- shell脚本中根据端口号kill对应的应用进程
一.使用情景 在Jenkins的自动部署中,每次重新部署我们都需要先关闭原先的应用进程,然后重新部署启动.在使用tomcat时,我们可以通过startup.sh和shutdown.sh进行对应操作.但 ...
- 17.树的子结构 Java
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) 思路 双递归:外层HasSubtree是一个先根遍历递归,内层isDirectSubTree是一个 ...
- webstorm设置babel,使用es6
原文链接:https://blog.csdn.net/peade/article/details/76522177 网上有很多关于如何设置babel的.我学习着设置,但总差那么几步,没能满足我的需求. ...
- 外网访问内网的FTP服务器
转自 外网访问内网的FTP服务器 首先感谢作者给出的总结,原文是介绍Serv-U的,我针对FileZilla Server进行了稍微修改,仅看操作可直接跳到分割线后第3部分. 1. 背景简介最近研究如 ...
- python操作s3 -- boto2.x
以下是python操作s3常用方法: boto s3手册:http://boto.readthedocs.org/en/latest/ref/s3.html boto s3快速入门:http://bo ...
- fastadmin 全手动添加规则
全手动的话 你需要在规则管理里面添加规则 然后角色组就可以设置权限了如果是自动的话 应该就都生成了权限设置 1.增删改查的规则也要添加哦 2.角色组勾选相应的规则 https://ask.fastad ...
- Postgresql 直接在查询结果中生成唯一ID
不需要排序 select (row_number() over()) as id from generate_series(1,100)1根据指定的字段排序 select (row_number() ...