PUSH到git分支代码不自动更新的问题

公司的开发项目部署如下:

开发人员本地一份版本库(CLONE);

测试服一份版本库(CLONE);

ORIGIN一份版本库。

当开发人员本地开发测试好之后需要先PUSH到测试服测试,没问题后再PUSH到ORIGIN。

GIT的PUSH如果是PUSH到分支上,比如测试服的CLONE,首先遇到的问题是,GIT会默认阻止你这么干,需要修改GIT CONFIG进行如下设置:

[receive]     denyCurrentBranch = ignore

设置好了还没有完,PUSH上去你要是去测试服上查看,文件并没有更新。这时候需要用到GIT的HOOK:

感谢某某网友的无私奉献,我们不用再去手写SHELL脚本了,脚本下载地址:https://gist.githubusercontent.com/volca/9482044/raw/344a590af350b997db3819fa21426dfe8bc140f4/post-update;

下载到 你的项目目录/.git/hook/,最后添加可执行权限及修改用户组:

chmod g+x 你的项目目录/.git/hook/post-update

chown www:git 你的项目目录/.git/hook/post-update

时间: 2024-08-10 14:08:22

PUSH到git分支代码不自动更新的问题的相关文章

通过Git WebHooks+脚本实现自动更新发布代码之shell脚本

前文讲述了<通过Git WebHooks+脚本实现自动更新发布代码>,里面提供了一种自动更新发布代码的脚本编写思路.本文的脚本与前文中的思路不太不同.本脚本以capistrano中的一些思想和理念为依据,用简单好理解的shell脚本实现capistrano原本实现的自动化部署部分. 脚本的一些特点和功能: 解决脚本的符号链接问题,准确获取脚本工作目录(从tomcat脚本中学到): 颜色显示,不同级别的信息用不同的颜色显示(共两种方案,前一种从一位不知名的国外工程师处得到,后一种从lnmp1.2

通过Git WebHooks+脚本实现自动更新发布代码之Shell脚本(二)

依据前文<通过Git WebHooks+脚本实现自动更新发布代码>的解决方案编写的shell脚本,此脚本专门用于更新补丁文件,例如对项目中的文件实现增(add).删(remove).改(update),并且执行相关的命令,如清除缓存.重启服务等. 此Shell脚本目前设计成在本地执行,目前不适合分布式执行的情况.也就是说,此脚本最好与项目在同一个机器上,这个缺陷已经标注在脚本中了,参见脚本中的多个TODO. 脚本完成的工作: 检查配置文件合规性 备份与恢复 增删改文件 执行命令 失败回滚 除上

通过Git WebHooks+脚本实现自动更新发布代码

需求: 写一个自动化部署脚本,能根据git push动作自动更新发布代码(补丁文件(或更新文件,以下简称补丁)) 解决方案: 通过git webhooks.python脚本.Linux Shell脚本完成,所有动作均自动完成,人工部分仅限于发布补丁文件之前 git webhooks实现触发执行脚本 python脚本用于接收git webhooks的post数据并根据这些数据判断是否执行shell脚本 Linux Shell脚本用于实现部署.备份.回滚等操作 具体步骤(方案实现): 实现原理: 用

使用crontab进行Android代码的自动更新和构建

引子 最近的工作是一个在Android平台上进行开发的项目,我个人基本是不改动Android部分的代码,但是我所在的项目需要使用到Android编译出来的很多目标文件.另一方面,我又不是开发apk等基于通用Android平台的项目,即Android部分的代码是有其他同事在进行维护.那么就会有这样的场景:我需要保持Android部分代码的更新和并构建出来. 编译过整个Android工程的人都知道编译一次的时间大概要30分钟以上(如果你是独占服务器且内存超大,那么请默默走开~),要是整个工程全部进行

jenkins构建git分支代码

环境:   debian45 3.16.0-4-amd64   jenkins2.66   jdk:java version 1.8.0_131jenkins安装:    去jenkins的官网查看(针对一切不懂的东西官方文档永远是必需品)http://pkg.jenkins-ci.org/debian/ This is the Debian package repository of Jenkins to automate installation and upgrade. To use th

实现 Gitlab 提交代码 Jenkins 自动更新到服务器

1.在 Jenkins 上安装如下插件 2.添加 Gitlab 账号3.添加服务器4.创建任务5.配置 Gtilab 原文地址:http://blog.51cto.com/linux10000/2166392

Android实战——轻松集成百度自动更新SDK,只需3步

轻松集成百度自动更新SDK,只需3步 集成百度自动更新SDK前提: 1.需要上线作品进行测试,本人用自己上线的作品进行了测试. 2.需要上线的作品defaultConfig中的versionCode大于手机端的versionCode,本人上线的作品versionCode为2,测试机为1. 本人作品:一款免下载,免安装,即点即用的应用收纳集,应用袋:http://shouji.baidu.com/software/9529251.html 步骤一:在百度开发者平台选择下载百度自动更新SDK,htt

转C#实现之(自动更新)http://www.cnblogs.com/yelanggu/p/9288149.html

做开发的人,尤其是做客户端(C/S)系统开发的人都会遇到一个头疼的问题,就是软件的自动更新:系统发布后怎样自动的更新程序,在下有幸开发过一个自动更新程序,更新程序与任何宿主程序是完全独立的:只要在主程序里面启动更新程序就行了:更新程序也是一个可执行文件,在启动的时候可以设置是否是自动更新和是否是手动更新,自动更新的意思就是说不需要人工的干预实现从远程服务器下载更新包,而如果是手动更新就会涉及到用户点击程序中的按钮实现更新:在自动更新与手动更新中可以根据项目的需要进行选择,有的程序必须要求用户进行

Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突

Git的纯命令操作,Install,Clone , Commit,Push,Pull,版本回退,撤销更新,分支的创建/切换/更新/提交/合并,代码冲突 这篇是接着上篇分布式版本库--Windows下Git的环境部署以及在GitHub上开源自己的项目讲的,上篇主要是说用GUI来图形化界面操作,但是一般我们程序员也不会这么干,用命令又轻松又愉悦,所以,这里我就再开了一篇来专门说一下纯命令是怎么去操作的,但是要注意哦,其实廖雪峰老师的网站就是非常赞的学习资源哦! 廖雪峰老师:http://www.li