サーバーに非ベアリポジトリ(dirs /home/andrew/webおよび/home/andrew/web/.git)があり、receive.denyCurrentBranchを無視して受信後フックを作成するように設定します。
#!/bin/sh
GIT_WORK_TREE=/home/andrew/web git checkout -f
sh .git / hooks / post-receiveを実行すると、すべてが正常に機能します。しかし、PCからプッシュすると、次のエラーが発生します。
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