1. ホーム
  2. git

[解決済み] 小規模開発チームのためのGitブランチ戦略 [終了しました]。

2022-04-14 02:43:18

質問

私たちは、ほぼ毎日更新してリリースしているウェブアプリがあります。私たちは VCS として git を使用しており、現在のブランチ戦略は非常にシンプルで破綻しています。master ブランチがあり、私たちが「良いと思った」変更をそこにチェックします。masterブランチがあり、私たちが「良いと思った」変更をそこにチェックします。これはうまくいきますが、壊れるような変更をチェックインするまでです。

のお気に入りの git ブランチ戦略をお持ちの方はいらっしゃいますか? 小規模チーム で、以下の要件を満たしているもの。

  1. 2~3人の開発者チームでの使用に適している
  2. 軽量で、処理量が多すぎない
  3. 開発者は、バグフィックスと大規模な機能の作業を簡単に分離することができます。
  4. 安定版ブランチを維持することができます (本番サーバーを動作させなければならないときに、「しまった」と思ったときのため)

理想を言えば、新しいバグに取り組む開発者のステップバイステップのプロセスを見てみたいものです。

解決方法は?

でScott Chaconが説明しているワークフローが役に立つかもしれません。 プロGit . このワークフローでは、常に存在する2つのブランチを用意します。 マスター 開発する .

マスター は、あなたのプロジェクトのもっとも安定したバージョンを表し、このブランチからしか本番環境にデプロイできません。

開発 には、進行中の変更が含まれており、必ずしも本番環境に対応できるわけではありません。

から デベロッパー ブランチを作成し、トピックブランチを作成し、個々の機能や修正に取り組みます。機能や修正の準備ができたら、それを 開発 この時点で、同僚がマージした他のトピックブランチとどのように相互作用するかをテストできます。一度 開発 が安定した状態になったら、それを マスター . 本番環境へのデプロイは常に マスター .

Scott はこのような長期間稼働するブランチを、コードのサイロと表現しています。安定性の低いブランチにあるコードは、テストとチームによる一般的な承認を経て、最終的にはより安定性の高いブランチに移行します。

このモデルでのワークフローは、順を追って説明すると、次のようになります。

  1. バグを修正する必要があります。
  2. というブランチを作成します。 マイフィックス をベースとした デベロップ ブランチを使用します。
  3. このトピックブランチで、バグが修正されるまで作業します。
  4. マージ マイフィックス 開発 . テストを実行します。
  5. 修正内容が他のトピックブランチと競合していることが判明した場合 ヒスフィックス にマージされました。 開発 を修正する必要があります。
  6. でさらに変更を加える。 マイフィックス ブランチでこれらのコンフリクトに対処してください。
  7. マージ マイフィックス 開発 を実行し、再度テストを実行します。
  8. すべて正常に動作します。マージ 開発する マスター .
  9. から本番環境にデプロイします。 マスター 安定していることが分かっているので、いつでも利用できます。

このワークフローの詳細については 分岐ワークフロー の章をご覧ください。