2012-03-03 8 views
10

GitHubでgitブランチをマージする特定のgitユーザーを制限することはできますか? ブランチでコミット、プル、プッシュを現在のブランチにコミットさせ、別の既存のブランチに切り替えることができますが、ブランチをマージすることはできません。 GitHub.comやスタンドアロンのgitリポジトリで可能ですか?特定のGitHubユーザーにブランチをマージするように制限する

答えて

6

いいえこのようなことを防ぐ唯一の方法は、gitの内部プリコミットまたは更新フックです。プッシュする前に呼び出されるフックは受け入れられます。

GitHub自体は、プリコミットまたは更新フックをサポートしていません。 Webフックだけがサポートされています。しかし、これはプッシュ後に呼ばれます。あまりにも遅れて、特定のタイプを防ぐことはできません

+1

s/ofter/after /#no edit privs –

+0

変更されました。ありがとう。 – iltempo

0

NO

あなたはプルリクエストであるためのGithubの「変更をマージ」ボタンのこれを考えることができます。しかしそれはただの便利なことです。たとえば、競合がある場合、そのボタンは無効になっているため、マシン上の変更を手動でマージしてGithubにプッシュする必要があります。

したがって、ユーザーがブランチに変更をプッシュできる場合、彼がマシン上の別のブランチをマージしてプッシュするのをどうやって止めるのでしょうか?そのような制限はGithub afaikにはないので、これを達成することはできません。

しかし、あなたはいつでもブランチをマージしないようにユーザーに丁寧に頼むことができます。

+0

待ち、git自体は常に2つの異なるブランチをマージするときを知っており、これをログに置き換えます。そして私はgitで何らかの "マージブランチパーミッション"を実装する理論的な理由は見当たりません。 はい、私はこのような制限がGitクライアントアプリケーションではなく、GitHubサーバーで実装されるべきであることに同意します。 – HitOdessit

+0

Gitは分散ソース管理システムです。つまり、マシンにレポをクローンすると、そのコードに対して完全な権限が与えられます。 Githubはホスティングサービスとしてのみ動作します。したがって、クライアント側の制約を置くことは間違いです。そして、私はこれがどのようにギタブの一部になるのか分かりません。 – Sailesh

+0

これはGithub Enterpriseの機能ですか? – danielricecodes

3

にbitbucketはあなたのブランチにマージを防ぐのに役立つだろう枝あたりのパーミッションをサポートしています。 githubの機能が不足している

4

リポジトリがGithubの組織に属している場合は、開発者を読み取りアクセスチームに追加することができます。そうすれば、彼らはリポジトリを見たりチェックアウトしたりすることができますが、リポジトリにコミットすることはできません。リポジトリをフォークすることもできます。リポジトリをフォークしてから、メインリポジトリにコミットさせるためにプルリクエストを送信することができます。

プルリクエストの確認とマージを担当する特定の開発者のみに書き込みアクセス権を与えることができます。

関連する問題