龙空技术网

CENTOS7下部署Git服务器(超详细教程)

网上搬砖头z 44

前言:

目前朋友们对“centosgit账户密码忘记了”可能比较重视,看官们都需要学习一些“centosgit账户密码忘记了”的相关知识。那么小编同时在网上搜集了一些有关“centosgit账户密码忘记了””的相关文章,希望各位老铁们能喜欢,朋友们一起来了解一下吧!

参考1:

参考2:

删除老版本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 切换到指定目录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文件的。但是,你再次克隆是可以下载到这个文件的。

如图所示:

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

如果需要同步代码到服务器参考:

代码同步到服务器

--(没有多大必要)

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

然后进入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这个文件夹下是可以看到文件变动的,但是服务器并不能更改,所以我说并没有什么卵用。

禁止 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操作,大功告成:

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

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

2.本地拉取项目即可

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

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

标签: #centosgit账户密码忘记了 #centos配置git服务器配置 #centosgit配置 #centos7创建git服务器 #centosgit用户权限