私のサーバ(dirs/home/andrew/webと/home/andrew/web/git)には裸のリポジトリがあります。ポスト受けるフックを無視し、作成するために、設定されたreceive.denyCurrentBranch:ポスト受信フックのGitチェックアウト: "gitリポジトリではありません。" "
#!/bin/sh
GIT_WORK_TREE=/home/andrew/web git checkout -f
私はSHの.git /フックを実行すると/ポスト受け取るには、すべてが正常に動作します。私は私のPCからプッシュするときしかし、私はこのエラーを取得する:
remote: fatal: Not a git repository: '.'
は、どのように私はこの問題を解決することができる方法はありますか?そして、最終的に裸のレポを切り替える必要はありませんか?
はあなたに
EDITありがとう:ここでは私の新しいポスト受け取るフックです。なぜこれが受け入れられた答えに記述されているのか?
echo "\nChecking out $PWD"
GIT_DIR=/home/andrew/web/.git
GIT_WORK_TREE=/home/andrew/web git checkout -f
プッシュにはどのコマンドを使用しますか?特に、リモートURLは何ですか? – Simon
@Simon私は "git push origin"を使用し、私のリモートURLは "[email protected]:web"です。 – A123321
あなたは完全なパス '[email protected]:/ home/andrew/web'を試すことができますが、実際の問題はあなたのリモートリポジトリが裸ではないということです。あなたはプッシュを強制しようとすることができます: 'git push -f origin' – Simon