centos 6.8安装git_CENTOS7下部署Git服务器(超详细教程)

baec67bdbc395c95fb5d2ae8c63fb5be.png

参考1:https://www.cnblogs.com/fly_dragon/p/8718614.html

参考2:https://blog.csdn.net/dumingming_stj/article/details/80551312

删除老版本Git,自带的好像是1.8

yum remove git安装新版Git#安装gccyum install gcc#安装g++yum install gcc-c++#安装编译所需的包yum install curl-devel expat-devel gettext-devel openssl-devel zlib-develyum install gcc perl-ExtUtils-MakeMakerwget -P /usr/src/git-2.19.1 https://www.kernel.org/pub/software/scm/git/git-2.19.1.tar.gz#切换到指定目录cd /usr/src/git-2.19.1/​#解压源码包tar zxvf git-2.19.1.tar.gz​#进入解压目录cd git-2.19.1/​#配置安装目录并编译和安装(耐心等待……)./configure --prefix=/usr/local/git-2.19.1 && make install​#将编译好的git-2.18.0 bin目录添加到bashrc中,相当于添加全局变量echo 'export PATH=$PATH:/usr/local/git-2.19.1/bin' > /etc/profile.d/git.sh​#使bashrc立即生效,全局变量立即生效source /etc/bashrc​#查看git版本,如果是版本是git version 2.18.0即大功告成git --version​#如果发现还是老版本,再执行一次即可yum remove git​#至此,CentOS 就安装上了最新版本的 Git。

创建一个git用户

#root用户下创建用户gitid git #查看系统里面是否已经存在此账户#如果存在删除此用户userdel -r git#如果不存在直接添加即可groupadd gituseradd git -g gitpasswd git #为用户git设置一个登录密码,如果不配置ssh登录,每次clone等操作都需要此密码开启ssh登录(不是必须)如果不配置每次克隆,推送代码都要输入gjt用户密码,其实GitHub等网站采用的ssh登录方式都是采用的上传公钥方式。所以推荐配置。#最好切换到git用户 不然后面新建的git仓库都要改权限su gitcd /home/gitchmod 700 .ssh#ssh-keygen -t rsa //默认会生成~/.ssh/id_rsa.pub公钥文件。mkdir /home/git/git-shell-commands #如果没有这个一会本机登录会有问题​#切换到rootsucd /home/git/.sshchmod 600 authorized_keysvim authorized_keys#把你客户端生成的公钥复制进去就OK了#或者是上传本地id_id_rsa.pub 直接改名为authorized_keys(掉进此坑,半天之后才爬出来)#cat authorized >> authorized_keys​vim /etc/ssh/sshd_config​#开启公钥免密码登录RSAAuthentication yesPubkeyAuthentication yes

初始化Git仓库

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

本地克隆仓库测试

#如果没有更改过ssh默认的登录端口,默认22$ git clone git@IP:zhao.gitCloning into 'test'...warning: You appear to have cloned an empty repository.​#如果更改过ssh端口号gcl ssh://git@IP:端口号/~/zhao.git

注意:在服务器上是看不到你上传的这个test.txt文件的。但是,你再次克隆是可以下载到这个文件的。

如图所示:

3255376904ea926d909ce17c620e6125.png

服务器上:可以看到该目录下什么东西都没有

如果需要同步代码到服务器参考:https://blog.csdn.net/xiaoweite1/article/details/80344289

代码同步到服务器

--(没有多大必要)

登录git用户,在其夹目录下创建一个文件夹www用来同步代码;

bfd07f4baeb2eca4eb95b4076c582f70.png

然后进入zhao.git/hooks/目录下

[git@VM_0_12_centos ~]$ cd zhao.git/hooks/#这里我们创建post-receive文件vim post-receive​#在该文件里输入以下内容#!/bin/bashgit --work-tree=/home/git/www checkout -f​#由于该文件其实就是一个shell文件,我们还应该为其设置可执行权限chmod +x post-receive

然后本地再次推送代码,在www这个文件夹下是可以看到文件变动的,但是服务器并不能更改,所以我说并没有什么卵用。

902c284de9ec95f24e64919c11fb7168.png

禁止 git 用户 登录服务器

之前在服务器端创建的 git 用户不允许 ssh 登录服务器,不然会有很多安全问题出现

编辑 /etc/passwd[root@localhost .ssh]# vim /etc/passwd找到:git:x:502:504::/home/git:/bin/bash修改为git:x:502:504::/home/git:/usr/local/git-2.19.1/bin/git-shell

设置成功之后,尝试从root切换到git用户登录只能进行git操作,大功告成:

182403736d163fe73ad1882cb0971e59.png

添加一个新的项目到git服务器

1.服务器上先初始化一个仓库

388fd0f2faf33a54fa48d3cde0e58c56.png

2.本地拉取项目即可

2c80b3586359f2b11d41351e8aecfd44.png

删掉重新拉取一下,刚刚上传的文件可以拉取到:

d188276f6167183e318b00b9ce8ac6bc.png

喜欢文章的小伙伴可以点一波收藏加关注。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值