基于git和intotify实现的git提交服务器自动更新的功能

基于inotify实现nodejs的提交后自动同步

首先在一台server上使用nodejs+express启动一个服务器,并使用supervisor 支持修改文件后

自动重启的功能

然后在这个工程上添加git仓库的引用(指向同一个服务器的另一个git仓库所对应的位置)

然后在所有人的本地开发环境也从server仓库中clone git 工程,并进行开发。

当提交代码后,使用inotify监控server 的git仓库文件变化。

如果发生变化后,通知线上运行的server 进行一次git pull,操作,由于supervisor ,线上服务

将自动重启(更行),达到通过git提交自动更新线上服务的目的。

这里的关键是inotify这个shell脚本:

#!/bin/sh
inotifywait -rme modify,attrib,move,close_write,create,delete,delete_self /develop/version_controller/AIS/aisweb/.git | while read file; 
do
if [ "$file" == "/develop/version_controller/AIS/aisweb/.git/logs/refs/heads/ MODIFY master" ]; then   
    echo ====== modify master!!!;
    cd /develop/AIS/aisweb/; git pull
fi
done
时间: 2024-08-26 06:23:28

基于git和intotify实现的git提交服务器自动更新的功能的相关文章

git 本地提交后如果让服务器上的GIT 自动更新拉取

Q: 最近配了个服务器,用的GIT,本地提交后服务器必须再拉取一下才能更新出来..求个提交后自动更新的方法 A: 最佳工具 git hook post-update.sample 改名为post-update 然后加几行简单的代码就能实现你的需求了 例: gitdir=/**** cd $gitdir git checkout 对应分支 git pull end... ------------------------------------- 最简单的办法就是服务器上用一个cron任务,定时拉取

基于git的源代码管理模型——git flow

说明: 本文以nvie的“a successful git branching model”为蓝本,结合我个人理解写成.如有谬误,还请各位指出.多谢! Note: This article is highly based on nvie's a successful git branching model. Thanks nvie. Git Flow 是什么 Git Flow是构建在Git之上的一个组织软件开发活动的模型,是在Git之上构建的一项软件开发最佳实践.Git Flow是一套使用Git

Git使用基本方法(从远程服务器获取分支,提交修改)

做项目初次用到Git,以前没用过,完全没不懂,琢磨了好久才弄得差不多,特此分享,可以少走点弯路. 这次用的操作系统是Mint 1.首先需要安装Git sudo apt-get install git 2.在本地新建Git仓库 新建一个文件夹,然后文件夹中打开终端,输入命令git init,即可创建一个仓库 3.连接Git服务器 这次我们用的服务器是http://git.oschina.net 输入命令 git remote add origin <server>,将<server>

使用Git命令窗口将本地工程提交至远程GitHub

目标: 1.解决的问题是如何通过Git命令窗口将本地工程提交至GitHub. 2.方便园友的同时也方便自己以后解决此类问题. 步骤: 1.首先登陆GitHub网站https://github.com/ 2.新建Repository 3.新建TicketBrushSystem的Repository,其中红框的几处可以根据实际情况自行填写. 成功后会出现如下界面 4.将TicketBrushSystem克隆到本地 4.1.使用Git Bash将工作目录切换到本地的工程文件目录,如,笔者的项目工程位于

git如何删除本地所有未提交的更改

位于分支 develop 您的分支与上游分支 'origin/develop' 一致. 未跟踪的文件: (使用 "git add <file>..." 以包含要提交的内容) :all :crm_overview :fm_overview :oa_overview :pm_overview dashboard#index git checkout . && git clean -xdf git如何删除本地所有未提交的更改,布布扣,bubuko.com

如何轻松使用git,不用命令行,提交代码so easy。

以下观点纯属个人观点,请轻喷: 前言: 在Android开发中,首先要用到的就是版本控制工具,多人配合开发.(如果您是独立开发的话,请忽略本文).使用git的话,随时随地都可以提交代码,是不是很爽.但如果您是用的命令行提交代码,那确实很痛苦.这篇文章就教大家如何使用git,方便快捷的进行版本控制.废话不多说,直接上步骤. 步骤1:安装git 首先先安装msysgit msysgit 64/32位下载地址:http://download.csdn.net/download/laochangzhi/

git log 查看 当前分支的 提交历史

git log  查看 当前分支的 提交历史 在提交了若干更新之后,想回顾下提交历史,可以使用 git log 命令查看 默认不用任何参数的话,git log 会按提交时间列出所有的更新,最近的更新排在最上面.看到了吗,每次更新都有一个 SHA-1 校验和.作者的名字 和 电子邮件地址.提交时间,最后缩进一个段落显示提交说明. git log 有许多选项可以帮助你搜寻感兴趣的提交,接下来我们介绍些最常用的. 我们常用 -p 选项 展开显示每次提交的内容差异,用 -2 则仅显示最近的两次更新: $

GIT 如何删除某个本地的提交

一.rm后要commit一下才会生效,但这样只是让文件不再出现在今后的版本中,文件副本仍然会在.git/下(这样git才能让误删的文件恢复). 要彻底消灭文件副本,那就要让文件彻底从历史中消失,分两种情况: 1.如果你的文件添加记录是最近1次,而且没有别的更改,可以简单使用reset --hard commit_id来彻底回溯,然后gc一下再上传就没问题了. 2.如果是在你N次提交以内的某次,而且同时还有别的重要提交,那最好用rebase合并一下这几次提交记录(包括rm的commit),然后再g

git 打补丁,即git review之后需要二次修改并提交代码

假如代码已经push上去了,可是当review时,发现有地方需要修改,你可以继续在本地修改你的文件,之后git status查看修改的文件,然后git add修改的文件,此时不能直接git commit了,因为git commit之后会产生新的commit ID,而你想做的是把这次的修改与上次的修改合并到一起,所以这次要commit到之前生成的ID上边,在git中这样的操作叫做打patch.这里我只会用git GUI commit到上一次ID中: 1>     跟第一次修改一样进行git add