質問

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

次の「ワークフロー」が欲しいです

  • 開発は常に開発ブランチでのみ行われます
  • リリースマネージャーはマスターブランチを担当し、開発ブランチからマスターに物をマージし、それを中央リポジトリのマスターブランチにプッシュすることを許可されています。

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

役に立ちましたか?

解決

見る man githooks: :共有リポジトリでは、 $(git rev-parse --git-dir)/hooks/pre-receive また $(git rev-parse --git-dir)/hooks/update ユーザーがどの参照をプッシュしようとしているかを検証するスクリプト。 gitにはaが付属しています 更新 - パラノイド REFごとのACLを強制する例フック。

他のヒント

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

次のステップは、すぐにマスターに入るもののために調理ポットテスターを作ることです。このポットは通常呼び出されます next また dev. 。アイデアは、ブランチがより多くの影響を与えるほど、マスターするためにマージする前に調理するよりも長くなるということです。これにより、RMはどの枝を卒業すべきかを完全に制御し、それでもすべての人にヘッズアップを与えます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top