在我们的服务器上,每个项目都有 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
如果他们没有提交,这些错误修复会丢失。