一、Git服务器搭建
a. 安装Git
yum install -y git
b. 添加新用户、为用户设置密码
adduser git
passwd git
c. 创建空的Git仓库
cd /home/git
git init --bare test.git
chown -R git:git ../git
d. 在服务器端打开RSA认证
cd /home/git
mkdir .ssh
cd .ssh
touch authorized_keys
e. 命令行创建SSH key
ssh-keygen -t rsa -C “x@qq.com“
Linux 家目录/.ssh/:id_rsa、id_rsa.pub。
windows C:\Users\Administrator.ssh\
f.把步骤5生成的公钥导入服务器
cat id_rsa.pub >> /home/git/.ssh/authorized_keys
简单操作:windows 打开 Git-Gui->Help->Show SSH Key 直接复制key到Linux authorized_keys文件中
二、配置钩子
a. 设置clone帐号的SSH key
我用的lnmp的环境 用户为 www
sudo -u www ssh-keygen -t rsa -C “b@qq.com“
cat id_rsa.pub >> /home/git/.ssh/authorized_keys
b. 设置Git用户使用www用户clone
设置了 /etc/sudoers 添加:
git ALL=(ALL) NOPASSWD: ALL
进入网站目录拉取
su git
sudo -u www git clone ssh://git@127.0.0.1/home/git/test.git
c. 配置钩子[主要]
cd /home/git/test.git/hooks/
vim post-receive
1 | #!/bin/bash |
chown git:git post-receive
chmod +x post-receive
在本地clone拉取远程git仓库
git clone ssh://git@127.0.0.1/home/git/test.git
git 回滚到任意版本操作
git reset –hard xxx[版本号]
git push -f origin master
git known_hosts
sudo -u www ssh-keygen -R 127.0.0.1
sudo -u www git pull origin master
欢迎点击上方按钮对我打赏,谢谢你给我吃糖果