我的服务器上有一个非裸存储库(dirs /home/andrew/web 和 /home/andrew/web/.git),将 receive.denyCurrentBranch 设置为忽略并创建 post-receive 钩子:
#!/bin/sh
GIT_WORK_TREE=/home/andrew/web git checkout -f
当我运行 sh .git/hooks/post-receive 时,一切正常。但是当我从我的电脑推送时,我收到了这个错误:
remote: fatal: Not a git repository: '.'
有没有办法解决这个问题?最终无需切换裸回购?
谢谢
编辑:这是我的新接收后挂钩。为什么会这样,已在接受的答案中进行了描述。
echo "\nChecking out $PWD"
GIT_DIR=/home/andrew/web/.git
GIT_WORK_TREE=/home/andrew/web git checkout -f