我正在使用此示例发布带有 git post receive hooks 的网站。
该钩子几乎将裸仓库克隆到一个临时目录中,并在生成站点后删除该临时 git clone。
#!/bin/sh
# clone a repo, generate site etc
# done generating site, remove the TMP_GIT_CLONE
rm -rf $TMP_GIT_CLONE
当我进行推送时,所有其他任务都很好,但不会删除所有文件。
我收到以下错误:
remote: rm: <TMP_GIT_CLONE>/.git/objects/pack: Directory not empty
remote: rm: <TMP_GIT_CLONE>/.git/objects: Directory not emppty
...
你明白了
但是,当我直接从命令行调用post-receive
脚本时,其rm
行为符合预期。
为什么?
注意:我已经看过Post-hook receive act's different to shell,其中提问者的问题与处于裸仓库而不是工作树有关。