删除老版本Git

1
yum remove git

安装新版Git

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
--安装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用户组和用户

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

创建证书登录

1
2
3
4
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
1
2
3
chmod 600 authorized_keys
vim authorized_keys
把你客户端生成的公钥复制进去就OK了

初始化Git仓库

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

本地克隆仓库

1
2
3
4
5
$ 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