git 远程版本库,github提供服务原理,git自动更新发送邮件

本文详细介绍如何在Linux环境下搭建Git服务器,并实现Windows客户端的免密克隆及自动更新部署流程。
1.安装好 Linux,安装好 Git(192.168.1.239)

2.创建一个用户zph(让此用户提供Git on server),密码设置为12345678

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. # useradd zph  

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. # passwd zph  
3.切换到zph用户

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. # su zph  
[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. $ cd  

4.创建一个远程仓库

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. $ git init --bare sample.git  

5.在windows下(192.168.1.5),打开git bash

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. $ git clone zph@192.168.1.239:/home/zph/sample.git  
终端会让输入密码,此时输入zph用户的密码即(12345678)

6.为了让用户,不用每次都输入密码,在linux生成.ssh目录

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. $ ssh-keygen -t rsa -C "youremail@example.com"  
7.进入.ssh,新建一个 authorized_keys文件

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. $ cd /home/zph/.ssh/  
[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. $ vi authorized_keys  
8.打开windows中当前用户的.ssh/id_rsa.pub,复制里面的内容,粘贴到第7步中的 authorized_keys中

9.更改authorized_keys文件的权限

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. $chmod 600 authorized_keys  
10.验证 authorized_keys有没有生效,打开windows

[python]  view plain  copy
  在CODE上查看代码片 派生到我的代码片
  1. $ ssh zph@192.168.1.239  
如果不需要输入密码,代表生效了

11.重复第5步,已经不需要输入密码了

12.代码自动更新

cp /home/zph/sample.git/hooks/post-update.sample /home/zph/sample.git/hooks/post-update

13.打开post-update,先清空内容,然后进行编辑如下

#!/bin/bash

#如果想要发送邮件则开启下面两行,关于发送邮件请访问 http://blog.csdn.NET/zph1234/article/details/50509885

#var=`git show`
#PHP /var/www/html/mail.PHP "$var"

cd /usr/share/nginx/html/sample
unset GIT_DIR

git checkout master
git pull

14.出于安全考虑,只让克隆提交版本库,不让登陆终端

$ which git-shell
/usr/bin/git-shell
vi /etc/passwd

ph:x:1000:1000:zhangpenghui:/home/zph:/usr/bin/git-shell

转载于:https://www.cnblogs.com/hehe520/p/6147489.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值