2012-06-02 17 views
31

GitHubは事前受信または更新フックを許可していますか?githubは事前受信フックを許可していますか?

主なブランチがプッシュされないように(つまり、マスター、修正プログラム、開発)、GitHubのプルリクエストを介してマージする必要があります。これはプライベートレポなので、GitHubスタイルのフォークはオプションではありません。

これを達成するためのアドバイスは非常に役に立ちます。

+4

GH *は、プライベートレポをフォークしてプライベートにすることを許可します。 AFAIR、しかし、フォークの数には限界があります。お支払いプラン情報をご確認ください。 –

答えて

16

「協力者」をリストした人だけが、Githubでホストされたリポジトリにプッシュできます。共同編集者を追加するには、リポジトリの '管理者'ページを参照してください。リポジトリの管理者が追加したものを受け入れるには、他の人が「プルリクエスト」を提出する必要があります。 Github Access Permissionsを参照してください。 (ブランチごとのアクセス許可はありません)。したがって、目標を達成するために、フックは必要ありません。何が必要なのは、すでに組み込まれてい

2つのノート:。

  1. プライベートGitHubのリポジトリはGitHubのは、事前に受信フック(または任意の他のサーバフック)をサポートすることは珍しいだろう、複数の貢献
  2. を持つことができますフックには任意のコードが含まれています。
+2

それは素晴らしいですが、協力者を持っているプラ​​イベートレポ、pre-receiveフックはgit-coreの機能ですが、git-hubがそれらを実装する方法があれば見ていました。 –

+0

edit - server hooksサーバー上で任意のコードを実行します。 Githubがそれを許すとは想像できません。 – GoZoner

+0

GitHubは事前受信フックを許可していないようですが、* post * -receiveフックを許可しています:https://help.github。com/articles/post-receive-hooks –

3

信頼できるチーム(私はあなたがプライベートレポだからだと思います)と協力していて、単純な習慣から標準操作手順に違反することを防ぐためにこれを実装したいと思っています。最も良いことは、pre-pushカスタムスクリプトを配布して、誰もが.git/hooksディレクトリにインストールすることです。動作しない何らかの理由で、私はの脅威がコミッターの権利を失うことが判明した場合

を(私は誰もが暗黙のうちにローカルunpushedコミットが存在する場合に、無駄がマージ排除するためにgit pull --rebasegit pullを変更するgit config branch.autosetuprebase alwaysを実行する主張が最近似た何かをしました)事実は通常、人々を正直に保つための効果的な仕組みである。

6

GitHub自体には事前受信フックは許可されていませんが、GitHub Enterpriseバージョン2.6には受信前フックサポートが含まれています。詳細については、https://help.github.com/enterprise/admin/guides/developer-workflow/using-pre-receive-hooks-to-enforce-policy/をご覧ください。これらは、情報がどのリポジトリにもプッシュされないように、インスタンス全体の事前受信フックです。

私が探しているのは、プライマリブランチがプッシュされないように(つまり、マスター、修正プログラム、開発)、それらをGitHubプルリクエスト経由でマージする必要があることです。

ただし、この時点では、保護されたブランチを使用してGitHubまたはGitHub Enterpriseリポジトリを設定できます。これは、ブランチが削除されたり、強制的に押されたり、特定の人やチームだけがマージしたり、マージが許可される前にステータスチェックが通過したりすることを防ぎます。詳細はhttps://help.github.com/articles/about-protected-branches/をご覧ください!

関連する問題