2017-03-28 7 views
0

私はプッシュプッシュファイルを作成し、それを.git/hooksフォルダに保存しました。何が起きているように見えるのは、私がecho文を入れてもpushがサーバーに呼び出しを行っているということです。exit 1が呼び出されます。 gitプッシュコールを実行すると、サーバーのメッセージと私のechoステートメントを見ることができます。なぜ、git pre-pushはプッシュ前に起動しないのですか?

は、プッシュ・プロセスは、事前にプッシュファイルの最初の行は1番出口ある場合は、リモートサーバーへの接続を確立直ちに停止していないではないでしょうか?

このフックには何がありますか?私が見たいと思う唯一のものは、私のこんにちはメッセージです。

echo "Hello there" 
exit 1 

答えて

1

大丈夫ですが、私は完全な答えはありませんが、これは私が考え出したものです。

リモートサーバーからバナーメッセージを受信したにもかかわらず、プッシュプッシュでは、終了時にプロセスがサーバーにプッシュされなくなります。バナーメッセージが表示されているにもかかわらず、誤解を招きます。

git docsには、プッシュが前進が与えられる前に、プッシュプッシュのために接続が確立された理由が記載されています。

+1

私は、文書を改善することに同意します。しかし、最初に接続を確立することはかなり必要です。なぜなら、プリプッシュフックは外部のGitのref-nameだけでなく、対応するハッシュIDも取得するからです。その情報を持っている*少なくとも*正しい*情報である*唯一のエンティティは、Git自体です。したがって、この時点で、データが流れる状態で接続が確立されている必要があります。 – torek

関連する問題