2012-08-31 10 views
51

repo/.git/hooks/post-commitで自分のローカルリポジトリに新しいフックスクリプトを作成し、 "git push"を実行すると、リモートにプッシュされたフックがありますか?その後、他の開発者が同じ起源から「git pull」を実行すると、新しいフックが得られますか?私はgit pushするとgitフックがリモートにプッシュされますか?

+3

おそらくこのヘルプhttp://stackoverflow.com/questions/3462955/putting-git-hooks-into-repository – Stony

+0

ありがとう、それは私の次の質問でした。 :) – slacy

答えて

47

いいえ。フックはリポジトリごとであり、決してプッシュされません。同様に、repo configもプッシュされず、.git/infoの何か、またはその他多くのものがあります。

プッシュとプルは、ブランチ/タグとコミットオブジェクト(コミットから到達可能なもの、たとえばツリー、ブロブ)のみを交換します。

+3

フックを中央に置いて各クローンに引っ張って適用する方法はありますか? – f1wade

33

いいえ、gitフックはリポジトリコードの一部ではないため、プッシュまたはプルされません。

単純なクライアント側とサーバー側のフックのリストについては、the documentationを参照してください。

特定のリポジトリからクローンまたはプルするすべてのクライアントに対していくつかのフックを有効にする場合は、フックをコードベースに追加してからコピーするスクリプトを作成するか、repo/.git/hooks/にリンクする必要があります。

+3

コピースクリプトはどのように呼び出されますか? –

+5

@AdamJohnsこれは、ユーザー/開発者から、おそらく 'setup.sh'の形で呼び出されます。最初にリポジトリをクローンするときにdevが実行します。この後、フックを更新するフックを自動的に実行すると、たとえば、プルするたびにスクリプトを更新して再実行することができます。だから、開発者がそれを自分でやることに頼る必要はありません。 – cm92

関連する問題