准备工作:
centos 是自带git 的; 但是版本太低,可能在后面的工作中会遇到一些异常,所以:
yum -y remove git #卸载git
yum -y groupinstall Development tools
yum install gcc perl-ExtUtils-MakeMaker
========进入/usr/local/src 目录,升级安装
下载: wget https://www.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
解压: tar -xzvf git-2.9.5.tar.gz
cd git-2.9.5 #进入到解压缩后的目录
./configure --prefix=/usr/local/git #设置配置 (如果在这步遇到什么问题,可以根据错误提示,下载相应的拓展)
make && make install #编译安装
老规矩 : 加入环境变量,设置生效
echo 'PATH=/usr/local/git/bin/:$PATH' >> /etc/profile
source /etc/profile
git --version #查看版本 你会看到 git version 2.9.5
================配置git服务器
1、创建一个用户(用root用户也行,不建议)
sudo adduser git #创建一个叫做git的系统用户
sudo passwd git #设置密码 (到时候你跟服务器git仓库做交流的时候就用到这个用户跟密码了)
2.我们这里进入 cd /srv
mkdir blog #创建一个叫做blog 的文件夹
cd blog #进入blog
sudo git init --bare blog.git #给git用户初始化一个空仓
sudo chown -R git:git blog.git #赋予操作权限
3.限制git用户用shell登录服务器
vim /etc/passwd
查找 一个叫做git 的用户
我这里找到它的这行是长这样子的: git:x:1001:1001::/home/git:/bin/bash
将它改为 : git:x:1001:1001::/home/git:/usr/bin/git-shell
wq; 保存退出;
这里我们的git服务器配置就结束了
================现在我们实现自动同步
git里面有个钩子的东西,我们实现这个主要就靠这个
cd /srv/blog/blog.git/ #进入我们的裸仓库
ls 我们可以看到有个 hooks
cd hooks
vim post-receive #创建这样的一个文件;输入一下内容
git --work-tree=/var/www checkout -f #意思是我们的代码同步到 /var/www 目录下面
chown git:git post-receive #将文件用户以及用户组设为git
chmod +x post-receive
########现在我们可以退出服务器了
====== 来到客户机 (用git Bash工具)
进入 D盘 cd D:
git clone git@101.132.159.157:/srv/blog/blog blog #我们克隆这个空仓,输入之前配置的密码 ,就可以正常克隆了(这句话的意思是克隆这个远端仓库到我们的blog文件里面,没有这个文件夹它就会自动创建)
可以看到我们d盘已经有一个blog的文件了
然后在这个文件夹里面的的文件push上去之后,就会同步/var/www这个目录下面