搭建Git服务器/Centos服务器git升级/git上传服务器自动同步

来源:互联网 发布:淘宝上的知名甜品店 编辑:程序博客网 时间:2024/06/02 04:47

准备工作: 

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这个目录下面