git 中 post-receive 执行git pull不生效问题

背景

工程中要实现一个需求,客户端git push后代码能够直接部署到服务器的目录中。

实现方式

可以利用git的hooks中的post-receive来实现代码提交后动作,post-receive中配置如下:

#!/bin/sh
cd /www/myproject  #切换到服务器工程目录
git pull     #拉取代码

但是上面代码git pull并没有生效,网上找了下原因,后面发现 git 的钩子在运行的时候会调用 GIT_DIR 这个环境变量,而不是PWD 这个。所以在 git pull 的时候提示 Not a git repository: ‘.’ ,其中 “.” 正是 GIT_DIR 这个环境变量的值。针对这个问题修复了下脚本代码:

#!/bin/sh  
cd /www/myproject/  
unset GIT_DIR   #重要的是这里  
git pull 

然后就生效了。。。。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 名称 githooks-Git使用的挂钩。(githook在官网的介绍) 描述 如同其他许多的版本控制系统一样,G...
    BenjaminY阅读 9,601评论 1 3
  • 近年来,由于开源项目、社区的活跃热度大增,进而引来持续集成(CI)系统的诞生,也越发的听到更多的人在说协同开发、敏...
    a6fc544968bb阅读 13,140评论 0 30
  • 1.什么是 Git Hooks 如同其他许多的版本控制系统一样,Git 也具有在特定事件发生之前或之后执行特定脚本...
    就叫yang阅读 8,690评论 3 11
  • 什么是Git Hooks? 话说,如同其他许多的版本控制系统一样,Git也具有在特定事件发生之前或之后执行特定脚本...
    茗涙阅读 13,908评论 0 7
  • 下午壕了一把,喝了一下午的龙井,从明前喝到谷雨…还有千元一斤的九曲红梅
    罗先森是我阅读 1,706评论 0 0

友情链接更多精彩内容