我有一个这样的系统设置:
http://joemaller.com/990/a-web-focused-git-workflow/
但是无论我如何配置 shell 环境(即 GIT_DIR 和 PWD),git-pull 命令在被钩子调用时都不会运行。实际上没有任何输出。
我的更新后内容如下:
#!/bin/sh
/git/Lunch.git/lunch-receive > lunch.txt
我的午餐接收脚本如下:
#!/bin/sh
service myService stop
cd /usr/lunch
unset GIT_DIR
git reset --hard # necessary or the pull fails
git pull hub master # this line DOESN'T RUN grrrrr!
chmod u+x *.sh
chmod -R u+x bin
service myService start
最后,lunch.txt(输出)看起来像
HEAD is now at 5956c0b [old commit message]
答案1
这里有一个非常相似的问题:Git-使用 git pull 进行后接收挂钩“无法找到有效的 git 目录”。
长话短说,您需要取消设置 GIT_WORK_TREE;或者为了确保它确实需要,请将--git-dir
和--work-tree
参数传递给您的 git pull。
安德鲁