centos7安装git教程(以及git自动部署)

以前给centos装git环境,网上搜了一大推,但都是复制黏贴的,总是出错,所以在安装完成后自己想写一个比较详细的安装教程

// 安装git

yum -y install git

// 创建git用户用来运行git服务

adduser git

// 修改git密码,运行改语句后会提示你输入两次密码

passwd git

// 创建git仓库并初始化

mkdir -p lichenjie/git/test.git                                         //这是我的测试git仓库地址

cd /lichenjie/git                                                   //进入git目录

git init --bare test.git                                          初始化仓库

// 改变文件拥有者和群组(记得一定要修改权限,否则git代码无法push,因为没有权限)

chown git:git -Rf test.git

// windows客户端clone远程仓库(有两种clone方法,第一种不行就实施第二种)

git clone git@192.168.50.189:/lichenjie/git/test.git    

ssh://git@192.168.50.189/lichenjie/git/test.git

注:进行到这一步已经可以拉代码了,但是要输入密码;所以下面我们用RAS认证省去输密码这个步骤

// 创建ssh key  (创建.ssh密钥 如果是windows系统就在user/.ssh目录下)

ssh-keygen -t rsa -C "11111111@qq.com"  

// git name和email

git config --global user.name "lichenjie"

git config --global user.email "1111@QQ.com"

注:然后在服务器上开启认证

// Git服务器打开RAS认证

vim /etc/ssh/sshd_config  //打开sshd_config

修改:

47.RSAAuthentication yes

48.PubkeyAuthentication yes

49.AuthorizedKeysFile .ssh/authorized_keys

这里我们可以看到公钥存放在.ssh/authorized_keys文件中。所以我们在/home/git下创建.ssh目录,然后创建authorized_keys文件,

并将刚生成的公钥导入进去。(如果是虚拟机中的Linux,可以通过ssh,连接本地虚拟机。先用ifconfig看一下局域网中的ip,然后在ssh工具中进行连接。

如图所示查看虚拟机ip 192.168.130.134)

到这里已经安装完成了。后面是我的一些问题,和我自己写的一些注释,可能会不太看得懂,因为这也算是我自己做的一些笔记

我遇到的一些问题以及解决方法

1.我用git add file添加文件时出现这样错误:

fatal: Not a git repository (or any of the parent directories): .git

提示说没有.git这样一个目录,解决办法如下:

git init就可以了!

2.

gitbash修改自己的用户名和邮箱地址:

 

  1.  $ git config --global al user.name "xx "xxx"
  2.  $ git config --global al user.email "xx "xxx

 

显示

git config user.name

///

git进阶 git自动部署

/设置钩子

在project.git/hooks目录下有很多脚本文件的示例

查看post-receive.sample文件是否存在如果存在

cp post-receive.sample post-receive

不存在

touch post-receive

sudo vi post-receive # 写入下面脚本

#!/bin/bash

#指定我的代码检出目录

DIR=/home/wwwroot/sowork/test #不能包含当前的目录,要另外一个目录

git --work-tree=${DIR} clean -fd

#直接强制检出

git --work-tree=${DIR} checkout --force

 

修改该文件所有者为git用户(上面安装git创建的用户)

sudo chown git:git post-receive

sudo chmod +x post-receive # 添加执行权限

 

然后当你push的时候就会将文件检出到你指定网站目录下

在git客户端push的话可以得到反馈,如果失败,可能是权限造成的

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值