centos7下搭建git服务器

删除老版本Git

yum remove git

安装新版Git

--安装gcc
yum install gcc
--安装g++
yum install gcc-c++
--安装编译所需的包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
wget -P /usr/src/git-2.12.2 https://www.kernel.org/pub/software/scm/git/git-2.12.2.tar.gz
--切换到指定目录
cd /usr/src/git-2.12.2/
--解压源码包
tar zxvf git-2.12.2.tar.gz
--进入解压目录
cd git-2.12.2/
--配置安装目录并编译和安装
./configure --prefix=/usr/local/git-2.12.2 && make install
--将编译好的git-2.12.2 bin目录添加到bashrc中,相当于添加全局变量
echo 'export PATH=$PATH:/usr/local/git-2.12.2/bin' > /etc/profile.d/git.sh
--使bashrc立即生效,全局变量立即生效
source /etc/bashrc
--查看git版本
git --version
--将git设置为默认路径,不然后面克隆时会报错
ln -s /usr/local/git/bin/git-upload-pack /usr/bin/git-upload-pack 
ln -s /usr/local/git/bin/git-receive-pack /usr/bin/git-receive-pack 
至此,CentOS 就安装上了最新版本的 Git。

创建一个git用户组和用户,用来运行git服务

$ groupadd git
$ useradd git -g git
$ passwd git  #参数是用户名
最好切换到git用户 不然后面新建的git仓库都要改权限 烦烦烦!!
$ su - git 

创建证书登录

mkdir /home/git/.ssh
chmod 700 .ssh
cd /home/git/.ssh 
ssh-keygen -t rsa  //默认会生成~/.ssh/id_rsa.pub公钥文件。

初始化完出现3个文件
authorized_keys
id_rsa
id_rsa.pub

chmod 600 authorized_keys
vim authorized_keys
把你客户端生成的公钥复制进去就OK了 

初始化Git仓库

$ cd /home/git
$ git init --bare test.git
Initialized empty Git repository in /home/git/test.git/
以上命令会创建一个空仓库,服务器上的Git仓库通常都以.git结尾。

本地克隆仓库

$ git clone git@your-ip:test.git
Cloning into 'test'...
warning: You appear to have cloned an empty repository.
Checking connectivity... done.
your-ip 为您 Git 所在服务器 ip


作者:dreamlyn
链接:https://www.jianshu.com/p/73638eb9e215
來源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
展开阅读全文

没有更多推荐了,返回首页