5

Gerrit を使用すると、開発ブランチから安定ブランチに不安定なコードを誤ってマージするのは簡単です。

$ git checkout develop
$ commit
$ git push origin HEAD:refs/for/stable

Gerrit では、提案された変更が開発ブランチからのものであり、安定ブランチにマージされるかどうかはあまり明確ではありません。git または Gerrit で、このマージが起こらないようにする方法はありますか?

更新: 今のところ、元の最後のブランチを見つけて、そのブランチへのプッシュのみを許可するカスタム コマンドを使用して gerrit にプッシュします。

4

3 に答える 3

1

現在、この種の間違いを防止するソフトウェアのオプションはありません。

ただし、できることがいくつかあります。

gerrit へのプッシュに使用するカスタム コマンドを教えてください。

于 2012-11-22T00:18:48.893 に答える
0

1 つのアプローチは次のようなものです。

ユーザーを分離する

  • 提出者グループ - 「メイン」ではなく「開発」のみにコミットすることが期待されるすべての開発者
  • インテグレーター グループ - 「メイン」にプッシュおよびマージできる特権開発者。必要に応じてさらにブランチを作成します。

「git」では、「インテグレーター グループ」(上記) のメンバーのみにプッシュ アクセスを許可します。

免責事項: 私は Gerrit/Git 管理者の役割/構成の経験がないので、「git」がユーザーが属するグループに関する情報をどのように取得できるかについては正直わかりません (IMHO これはまだ手動で達成できます)。

于 2013-05-20T15:44:32.497 に答える
0

そのリポジトリの「開発」ブランチに対して、Gerrit で特定のアクセス制御を設定する必要があります。

次のようにセットアップします。

Reference: refs/for/refs/heads/develop
Push: Allow: <group>

しかし、このようではありません

Reference: refs/for/refs/heads/*
Push: Allow: <group>

このようにして<group>、「refs/for/stable」やその他のブランチではなく、「refs/for/develop」でのみレビューをプッシュできます。

于 2014-07-17T06:44:22.300 に答える