预推和推后挂钩涉及远程结账

时间:2013-12-01 11:59:03

标签: git githooks

我有一个我在本地计算机上开发的网站的远程存储库。

我使用git flow作为整齐的分支模型,所以我的分支是:

  • 开发
  • 特征/一个
  • 特征/ 2
  • 释放/一个
  • 释放/二

简化的工作流程如下:

  • develop
  • 中进行更改
  • 将开发推送到备份服务器
  • 结帐到master
  • master与develop`
  • 合并
  • master推送到实时服务器

我想要实现的是,当我将master分支推送到实时服务器时,我应该能够在通过URL访问网站时立即看到更改。

问题在于我无法真正推送master,因为它已在实时服务器上签出。

我是否可以编写一个预推钩,它将对远程的dummy分支进行结账,还有一个后推钩,它会将结账返回master?关键是这些钩子涉及在远程执行git命令,我不知道如何做到这一点。

非常感谢任何例子!

1 个答案:

答案 0 :(得分:2)

你应该在 bare repo 上推进掌握。

然后post-receive hook可以在您的实时服务器上查看裸露的rpeo。

cd /path/to/bare/repo.git
GIT_WORK_TREE=/path/to/live/server git checkout -f