13

自動化コードの開発を行っています。

私たちのコードは会社の製品を自動化し、特定の製品バージョンに同期されます。

現在、v1.0、v1.1、v2.0の複数のブランチを持つ1つの大きなGitリポジトリがあります(バージョン1.0の自動化はv1.0ブランチで行われます)。

これらをブランチのある単一のリポジトリに保持することと、各バージョンコードを別々のリポジトリに保持することの長所と短所は何ですか?

どちらのソリューションも機能します。私が探している答えは、どちらのアプローチの長所/短所のリストです。

多くのチームがブランチを使用して、バグ修正や新機能の実行など、開発の一時的な段階を分離し、最終的に作業をメインの開発ブランチにマージしていることを知っています。

私が知っている他の作業モードでは、開発、リリースなどのさまざまなブランチを使用して、コードの「よりクリーンな」リビジョンを、常に作業されているダーティなリビジョンから分離しています。

これらのどれも、私たちが現在行っていることと似ているようには聞こえません。

*特定のバージョンで行った変更の中には、すべての製品バージョンに関連するものとそうでないものがあることに注意してください。

4

3 に答える 3

9

複数のブランチ

長所:

  • 管理するリポジトリは1つだけです(自動化は1つのリモートを指します)
  • その1つのリポジトリから直接可能なブランチ間の比較(差分)
  • それらのブランチのいずれかを、その1つのリポジトリからそれを必要とする可能性のある他のダウンストリームリポジトリにプルできます。

短所:

  • ブランチの乱雑さ(ブランチの合計を管理/削除する必要があります)
  • タグはすべてのリポジトリ用です(「一部の製品」だけではありません)

複数のリポジトリ

長所

  • メインリポジトリから必要なものだけを引き出して、そこから作業することができます
  • 古い「ブランチ」を簡単にクリーンアップできます(特定のリポジトリを削除するだけです)

短所

  • レポの複製(より多くのスペースを取ります)
  • リポジトリ管理(適切なリモートを指す必要があります)

シングルレポアプローチは、より単純でより古典的なアプローチであると私は主張します。
とはいえ、多くのバージョン(定期的にクリーンアップする必要がある)がある場合は、それらの一時的なバージョンを独自のリポジトリで分離することもできます。

于 2012-08-09T06:13:34.763 に答える
1

このスタックオーバーフローの質問からのGitタグとブランチを使用した興味深い回答は次のとおりです:https ://stackoverflow.com/a/2714318/1552414 (None-daによる回答)

  1. 新しいバージョンに到達したら、タグを作成します。(v3.0.0)
  2. 初めて変更する必要がある場合は、ブランチを作成します

    git checkout -b v3.0.0_branch v3.0.0 
    
  3. v3.0.1、v3.0.2、v3.1.0に到達したら、ブランチにコミットして新しいタグを作成します

于 2012-08-08T22:01:44.460 に答える
0

少し前に、私の会社も同様の議論をしました(支店の賛否両論)。調査をしていると、次の説明が役立つことがわかりました。http://guides.beanstalkapp.com/version-control/branching-best-practices.htmlそれがあなたにも役立つことを願っています。

于 2015-07-15T18:24:13.970 に答える