1
在我们的服务器上,我们有,每个项目,2个文件夹:/ repository和/ htdocs。 Htdocs是存储库的一个副本,这是裸露的回购。每个开发人员都有自己的存储库克隆。htdocs可以预览项目给项目经理。邮政接收钩从裸回购拉
我想设置一个post-receive钩子,当开发人员推送更新时自动更新htdocs。
我已经按照我的后收到钩:
#!/bin/sh
GIT_WORK_TREE=../htdocs git pull origin master
然而,当我推开,我看到以下错误:
谁能告诉我是怎么回事?
注意
#!/bin/sh
GIT_WORK_TREE=../htdocs git checkout -f
作品,但这是有点慢(因为该项目是相当大的)。也有可能有人在htdocs中做了一些错误修正,如果它们没有被提交,它们将会在checkout -f
中丢失。
你说你的“预览”回购是在/ htdocs中,但是你把你的git_work_tree设置为“../site_now” - 这是没有道理的;您需要更详细地解释(更新:帖子已更正,此评论未提供) –
关于您的更新:不应对这样的预览目录进行更改,就像一般性建议 –
制作了错误的副本/粘贴,更新代码工作树应该是htdocs的确。在我看来,不应该在预览目录中工作,这也是有道理的。 – Bram