15

他のチームメンバーに、マスターブランチではなく開発ブランチで作業するように強制したいと思います。作業をプッシュする中央の git リポジトリがあります。ユーザーが master-branch に変更をプッシュすることをブロックできるかどうかを知りたいのですが、特定のユーザーのみがプッシュできるようにします。

以下のような「ワークフロー」が欲しい

  • 開発は常に開発ブランチでのみ行われます
  • リリース マネージャーはマスター ブランチを担当し、彼だけが開発ブランチからマスター ブランチにマージし、中央リポジトリのマスター ブランチにプッシュすることができます。

これは可能ですか、どうすればこれを達成できますか?

4

2 に答える 2

6

参照man githooks: 共有レポでは、ユーザーが何をどの参照にプッシュしようとしているのかを検証するスクリプト$(git rev-parse --git-dir)/hooks/pre-receiveまたはスクリプトを作成できます。$(git rev-parse --git-dir)/hooks/updateGit には、ref ごとの ACL を適用するupdate-paranoidサンプル フックが付属しています。

于 2010-12-10T23:35:13.467 に答える
1

私の低レベルのアプローチは、他の誰もがマスター ベースラインとして使用するリポジトリにプッシュするための SSH キーを持つ唯一の RM にすることです。そうすれば、RM 以外はマスターにプッシュできませんが、独自のローカル開発ブランチがあり、開発者が好きなブランチを共有できるため、誰もが作業できます。

次のステップは、すぐにマスターになるもののための調理鍋テスターを作ることです. このポットは通常、nextまたはと呼ばれdevます。ブランチの影響が大きければ大きいほど、master にマージするまでの時間が長くなるという考えです。これにより、RM はどのブランチを卒業するかを完全に制御でき、それでも全員に注意を向けることができます。

于 2010-12-11T01:56:18.457 に答える