2016-04-14 9 views
1

複数のGitリポジトリの変更を監視する必要があります。私はそれがいわゆるgitフックで行うことができることを知っています。インターネットの検索(ここ、GitHub、...)私は、アトラシアンのチュートリアルで何かを見つけました:https://www.atlassian.com/git/tutorials/git-hooks/server-side-hooks。しかし、私は彼らがどこにいるのか分かりません。私が理解する限り、彼らは開発者が少なくともテキストのヒントに応じて開かれているので、どこかに配置する必要があります。だから、どこに誰を見つけるのか知っている?サーバ側.git/hooksフォルダの場所

答えて

1

サーバサイドフックはリモートリポジトリのhooksディレクトリにあります。 repo.git/hooks/

1

「クライアント側」と「サーバー側」のGitリポジトリはありません。

違いが—(存在する場合)—は、通常、サーバ側のGitリポジトリが "裸"(git help init参照)に作成されているということです。このようなリポジトリは、通常、開発者のマシン上にある「通常の」—とは異なり、—のファイルがチェックアウトされ、開発者によって変更された場所が含まれていません。

ので、通常のGitのリポジトリは作業ツリーとリポジトリと「.git」という名前のディレクトリで構成されていながら、それ自体は、直ちに作業ツリーの下に、裸のリポジトリは、彼らの「.git」サブディレクトリに含まれている正規のものをリポジトリに直接ある 。 (それで、手で裸のリポジトリを作成するときには、 ".git"で終わる名前を付けるのが普通です)。

したがって、通常のリポジトリに ".git/hooks"がある場合、サーバー側リポジトリにはリポジトリのディレクトリに「フック」—があります。

サーバー側のリポジトリをGitで直接処理している場合や、「単純な」フロントエンド(gitoliteなど)に提供している場合のみ、上記の内容がすべて当てはまります。先進的なサードパーティのホスティングソリューションは、そのようなリポジトリにサービスを提供するためにさまざまな手段を使用し、 "フック"が何を意味するかについて異なるアイデアを持ちます。 Gitフックは、Gitがリポジトリへのプッシュまたはリポジトリからのフェッチを提供するために起動されたときにのみ呼び出されます)。

関連する問題