2016-06-15 15 views
0

私のチームには3人の開発者がいます。当社のWebシステムには約50種類のモジュールがあります(時間見積もり:1モジュールにつき5日間)。Gitブランチ名戦略 - モジュールごとまたは開発者ごと?

私はmasterとdevブランチを作成した後、何が良いでしょうか:50個のブランチを作成するために、各モジュールの各ブランチを作成します(もちろん1つずつ)。このアプローチでは、開発者が新しいモジュールを開始するときに、彼はそのモジュールのためのブランチを作成し、完了すると、それを開発者にマージします。

"developer1_name"、 "developer2_name"、 "developer3_name"の3つのブランチのみを作成する方が良いでしょうか? 2番目のアプローチでは、developer1が新しいモジュールを開始するときに、 "developer1_name"をブランチにコミットし、モジュールが完了すると、それを 'dev'にマージします。

どのアプローチが良いですか?

答えて

1

モジュールごとにブランチを作成することをお勧めします。そうすれば、コードがマージされた後、開発者は別のモジュール/ブランチに渡すことができます。コードを後で編集する必要がある場合は、簡単に戻ってくることができます。 さらに、開発者は複数のモジュールで作業できます。もし彼が立ち往生して助けを待っているなら、例えば。

+0

追加:モジュールが完了すると、devまたはmasterにブランチをマージしてブランチを削除することができます:)(このようにして問題の魔女をrepoで多くのブランチに解決します) –

2

"どちらが良いですか"に対する回答は、ほとんど常に「それに依存します」と、あなたが誰に依頼するかによって異なります。それにもかかわらず、ここに私の経験に基づくガイダンスがあります。

ほとんどの新作であれば、各モジュールごとにブランチを推奨しません。これは、返品が少ないためオーバーヘッドが大きくなります。 IMHOできるだけ多くの人がトランク(devブランチ)に作業コードを寄与させ、必要に応じてブランチを作成する方がいいです。それは常にあなたに多くをもたらすわけではない1つの余分なステップです、そして、私は複雑さが必要になるまで事をできるだけシンプルに保つのが好きです。 チームに頻繁にプッシュし、作業コードをプッシュすることを奨励してください。次に、マージプロセスをソートする必要なく、作業ベースを常に持っています。

モジュールはどのように相互依存していますか?彼らがお互いに大きく依存しているのであれば、ほとんどの場合、単一のdevブランチが必要になるでしょう。頻繁にコミットし、開発者が常に最新の状態になっていることを確認してください。

モジュールの変更や機能に変更を加える必要がある場合は、ブランチに適しています。

あなたは段階的にリリースされますか?動作する部分ビルドが必要だが、すべての機能が含まれていない場合は、各リリースのブランチが必要になります。あなたが(2週間以上)良いやり方を必要とするモジュールや、重要な変更点を含むモジュールをビルドしていることが分かった場合は、ブランチが必要になります。

関連する問題