2012-02-06 11 views
15

私はGitリポジトリ経由で私のリモートサーバにウェブサイトをプッシュしたが、エラーgitで手動でフックポスト受信を実行できますか?

cannot run post-receive: No such file or directory 

だからものがサーバー上で、それはちょうど私の/パブリックフォルダに展開されていないされてしまいました。

私は受信後のファイルを持っているので、なぜそれが見つからないのかわかりません。さて、私はこの後受信フックを手動で実行して、チェックアウトを実行すると思っていましたが、私は方法が分かりません。

+0

[this](http://stackoverflow.com/questions/3563904/git-hook-post-merge-error-cannot-run)が役立つかどうかを確認してください。 – vpatil

答えて

22

フックは実行可能なシェルスクリプトです。コマンドラインから手動で実行する必要がある場合はコマンドラインから実行することができますが、予想されるstdinの作成は、レポに複数のヘッドがある場合(つまりブランチを使用する場合)にはやや面倒です。これを行うには低レベルのコマンドが必要ですが、私はこれをわかりません。 bashシェルとあなたのgitのレポで単一の分岐を想定し

...

# Print the log with full hashes and commit subject, so that you can 
# figure out which hashes to use for the FROM and TO range. 
/path/to/repo$ git log --pretty=%H\ %s 

# assuming the FROM commit identifies as 999988887777 
# and te TO commit identifies as 000011112222 
# (Note: use the full length hashes; I've shortened them for the example) 
/path/to/repo$ .git/hooks/post-receive <<MARK 
999988887777 000011112222 refs/heads/master 
MARK 

は...上記のちょうど本物のように動作するはずです。

+0

今、私はwebsite.git/hooks/post-receiveを実行しました。 "行1:GET_WORK_TREE:コマンドが見つかりません": -/ – nerdess

+4

D'oh私は何が間違っているかを知った:それはもちろんGIT_WORK_TREEでなければならないGET_WORK_TREE – nerdess

+0

MARK構文は何をしますか?私はそれに関するドキュメントを見つけることができませんでした。ありがとう! – Xgongiveittoya

関連する問題