4

git リポジトリの master ブランチをロックする必要があります。pre-commit フックを試しましたが、それらはクライアント側のフックにすぎませんが、ほとんどのユーザーからマスター ブランチをロックしたいと考えています。git (私は github を使用します) の pre-receive フックの手順、またはマスターをロックするためのより良い方法を教えてもらえますか?

PS: gitolite は、ライセンス版の github ではサポートされていません。

4

2 に答える 2

2

ライセンス供与された GitHub は「GitHub:enterprise」を意味し、記事「GitHub からの移行:FI」で説明されているように、カスタム フックは許可されていないことも意味します。
(「カスタム git フックを GitHub Enterprise リポジトリに追加するにはどうすればよいですか?」も参照してください) 。

したがって、私はこれに別の方法でアプローチし、そのサーバーで 1 つのリポジトリを維持するのではなく、2 つのリポジトリを維持します (2 つ目は最初のリポジトリのクローンです)。

誰でも最初のリポジトリにプッシュできますが、選択したユーザーのみが 2 番目のリポジトリにプッシュできます。これにより、最初のリポジトリから 2 番目のリポジトリにプッシュできるものを選択できます。
したがって、' ' はある意味でrepo2あなたの ' ' を表し、' 'は他のすべてのユーザーがプッシュできる他のブランチを表します。これは、このGitHub 要旨の記事 に少し似ています。masterrepo1

リリース エンジニアリング チームを独自の組織に分けることをお勧めします。
開発者は、リリース エンジニアリング チームに存在するすべてのリポジトリをフォークする必要があります。開発者は、組織内で
コミットできるようになります。 組織にコミットを取得するには、プル リクエストを送信する必要があります。master
release_engineering

master注: のブランチにコミットすることは、 のブランチにコミットacme_developers/foobarすることとは異なることを顧客に納得させるには、しばらく時間がかかります。masteracme_release_engineering/fooba

于 2012-09-01T19:09:03.410 に答える
1

簡単な解決策は、おそらくブランチ ロックをサポートする gitolite またはその他のシステムでリポジトリを複製してホストし、現在の github リポジトリを保持する場合は、ポストコミット フックをセットアップして現在の github リポジトリにミラーリングすることです。私たちは現在、github のクローンを使ってそれを行っています。

于 2012-09-01T19:22:08.477 に答える