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

来源:互联网 发布:mac远程控制windows 编辑:程序博客网 时间:2024/05/19 01:13

1.安装好linux,安装好git (192.168.1.XXX)本机linux的网址

2.创建一个用户ylx(让此用户提供git on server),密码设置为123456

  1. # useradd ylx 
  1. # passwd ylx
3.切换ylx用户

  1. # su zph  
  2. $ cd
4.创建一个远程仓库

     $ git init --bare sample.git 

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

  1. $ git clone zph@192.168.1.239:/home/zph/sample.git 
终端会让输入密码,此时输入zph用户的密码即(123456)

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

     $ ssh-keygen -t rsa -C "youremail@example.com"
7.进入.ssh,新建一个authorized_keys文件

           $ cd /home/zph/.ssh/

           $ vi authorized_keys
8.打开windows中当前用户的.ssh/id_rsa.pub,复制里面的内容,粘贴到第7步中的authorized_keys中

9.更改authorized_keys文件的权限

          $chmod 600 authorized_key

10.验证authorized_keys有没有生效,打开windows

      $ ssh ylx@192.168.1.XXX

如果不需要输入密码,代表生效了

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

12.代码自动更新

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

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

#!/bin/bash

#如果想要发送邮件则开启下面两行,关于发送邮件请访问 http://blog.csdn.net/ylx1234/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.出于安全考虑,只让克隆提交版本库,不让登陆终端

<span class="variable" style="color:#08080;">$ </span>which git-shell/usr/bin/git-shell
vi /etc/passwd

ph:x:1000:1000:yanglixins/home/ylx:/usr/bin/git-shell


0 0
原创粉丝点击