一、服务器端安装
git支持四种传输协议
1.本地协议
2.ssh协议
3.git协议
4.http/s协议
[root@zabbix ~]# cat /etc/redhat-release CentOS Linux release 7.3.1611 (Core) [root@zabbix ~]# uname -r 3.10.0-514.el7.x86_64 [root@zabbix ~]# rpm -qa git git-1.8.3.1-13.el7.x86_64 [root@zabbix ~]# yum remove git [root@zabbix ~]# yum install gcc gcc-c++ -y [root@zabbix ~]# yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-ExtUtils-MakeMaker -y [root@zabbix ~]# mkdir -p /server/tools [root@zabbix ~]# cd /server/tools/ [root@zabbix tools]# wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.0.tar.gz [root@zabbix tools]# tar xf git-2.9.0.tar.gz [root@zabbix tools]# cd git-2.9.0 [root@zabbix git-2.9.0]# make prefix=/application/git [root@zabbix git-2.9.0]# make prefix=/application/git install [root@zabbix git]# echo 'export PATH=/application/git/bin:$PATH' >>/etc/profile [root@zabbix git]# source /etc/profile [root@zabbix bin]# git --version git version 2.9.0
######测试以原来的git客户端,作为服务器端,这里将原有的仓库,导出为裸仓库,如果是客户端,导为裸仓库后,转移到服务器端即可
[root@zabbix data]# ls
test #####test为现有仓库
[root@zabbix data]# ls -a test/
. .. 1 2 3 4 .git
[root@zabbix data]# git clone --bare test test.git #####将现有仓库导出为裸仓库----即不包含工作目录的仓库
克隆到纯仓库 'test.git'...
完成。
[root@zabbix data]# ls -a test.git/ #####裸仓库内容
. .. branches config description HEAD hooks info objects packed-refs refs
[root@zabbix data]# mkdir 111
[root@zabbix data]# git clone /data/test.git
fatal: 目标路径 'test' 已经存在,并且不是一个空目录。
[root@zabbix data]# cd 111
[root@zabbix 111]# git clone /data/test.git #####测试,新建一个目录,克隆刚刚导出的裸仓库,与原来仓库的内容相同
正克隆到 'test'...
完成。
[root@zabbix 111]# ll test/ -a
总用量 0
drwxr-xr-x. 3 root root 54 6月 27 16:02 .
drwxr-xr-x. 3 root root 18 6月 27 16:02 ..
-rw-r--r--. 1 root root 0 6月 27 16:02 1
-rw-r--r--. 1 root root 0 6月 27 16:02 2
-rw-r--r--. 1 root root 0 6月 27 16:02 3
-rw-r--r--. 1 root root 0 6月 27 16:02 4
drwxr-xr-x. 8 root root 163 6月 27 16:02 .git
######使用ssh协议