以前给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修改自己的用户名和邮箱地址:
- $ git config --global al user.name "xx "xxx"
- $ 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的话可以得到反馈,如果失败,可能是权限造成的