博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
git 远程仓库自动更新
阅读量:6456 次
发布时间:2019-06-23

本文共 675 字,大约阅读时间需要 2 分钟。

在远程服务器上架设了一个http server,然后通过git在本地做开发时,不想每次都登录到远程服务器上做pull操作,这个需求可以通过git hooks特性来实现。

 

原理是每当有用户更新代码时,会触发xxxx.git的hooks中的post-receive,然后把要执行的操作写在post-receive中就可以了。

 

开始的想法是

#!/bin/shcd /project/canyongit pull currTime=$(date "+%Y%m%d%H%M%S")echo $currTime >> /project/canyon/log

然后这种写法会出现找不到git repository 的问题,原因是在执行git pull 时引入了$GIT_DIR变量

remtoe: fatal: Not a git repository: '.'

于是我们将post-receive改为

#!/bin/shunset $(git rev-parse --local-env-vars)dir="/project/canyon/"logfile="/project/canyon/log"cd $dirgit pull currTime=$(date "+%Y%m%d%H%M%S")echo $currTime >> $logfile

这样每一次用户pull成功都会将/project/canyon中的git仓库更新

转载于:https://www.cnblogs.com/JoJosBizarreAdventure/p/5960212.html

你可能感兴趣的文章
DATAGUARD维护:从库宕机后如何恢复到管理恢复模式
查看>>
Android中的PID和UID
查看>>
MAC下上公司内网
查看>>
CentOS7.4安装mysql5.7
查看>>
U-BOOT之一:BootLoader 的概念与功能
查看>>
我的路上
查看>>
Velocity处理多余空白和多余空白行问题
查看>>
内容开发平台(PLATFORM)
查看>>
java值传递
查看>>
判断一个数是否为素数的一个讨论(一)
查看>>
DB2与oracle有什么区别
查看>>
创建一个多级文件目录
查看>>
UTM: 如何注册 SonicWALL 防火墙
查看>>
关于延续训练的倡导
查看>>
Shell 使用技巧
查看>>
awk在文本前加格式
查看>>
56、组播配置实验之PIM Sparse Mode利用Auto-RP动态选取RP
查看>>
tomcat安装配置
查看>>
JMX连接Mbean获取Tomcat信息(jconsole远程查看Mbean)
查看>>
VDI序曲十五 配置 RemoteFX 以获得最佳体验
查看>>