短期間で他のブランチにマージされるブランチ (Topic Branch)
短期間で他のブランチにマージされるブランチは、機能の追加や不具合の修正など、小さな目的で使用するブランチです。前回紹介した「長期間継続的に利用するブランチ」の例では、ブランチをベータなどリリースステージを単位としてブランチを作成しました。
こちらは、修正単位で作成するブランチです。
トピックブランチとは
1機能の追加や1不具合の修正など、短期間で終わる特定の目的や作業のために用意するブランチを、「トピックブランチ(Topic Branch)」と表現します。最もよく利用されるブランチの使い方です。
特に他のユーザーと共同して作業を行うときは、積極的に「トピックブランチ」を活用すると良いでしょう。
ブランチの操作は負荷が低い
「Git」では、ブランチの作成やブランチの切り替え、ブランチのマージ、不要になったブランチの削除は、簡単に行なえます。またブランチの操作は短時間で終わります。
短時間でブランチの操作が完了するため、日常的にブランチの操作を行うことができます。
1.ブランチの例
リポジトリー内のブランチは、以下のようになっています。「master」ブランチは、リリースするアプリをビルドするためのブランチです。
2.不具合対応用のブランチの作成
ある不具合に対応するため、以下のように「bugfix」ブランチを作成しました。3.bugfixブランチで作業
不具合の修正作業を「bugfix」ブランチで行いました。4.別の修正方法を思いつく
「bugfix」ブランチで作業した後、別の修正方法を思いつきました。その修正内容は「Commit3」で行った変更から、「Commit4」とは異なる修正内容です。
そこで「Commit3」を起点として「bugfix-1」ブランチを作成しました。
5.bugfix-1ブランチで作業
もうひとつの修正作業を「bugfix-1」ブランチで行いました。「bugfix」ブランチで行った修正方法と「bugfix-1」ブランチで行った修正方法のどちらが良いか検討し、「bugfix-1」ブランチで行った修正方法を採用することにしました。
6.新機能の追加用のブランチの作成
ここで、新機能の追加作業を行うことにしました。「Commit2」に新機能追加用のブランチを作成しました。
ブランチ名は、「feature」です。
7.新機能の追加作業
新機能の追加作業を「feature」ブランチで行いました。8.ブランチのマージ
新機能の追加作業が終わり、「master」ブランチと「feature」ブランチをマージします。以下のように、「ファーストフォワード」によるマージが行われます。
9.ブランチのマージ
最後に、不具合修正の内容をマージします。「master」ブランチと「bugfix-1」ブランチをマージします。
以下のように、「3ウェイマージ」によるマージが行われます。
「bugfix」ブランチで行った作業は不必要なので、ブランチを削除します。
これで不要な内容は破棄できます。
というわけで
このように、1つの小さな目的ごとにブランチを作成し各ブランチで作業を行うと、ブランチ単位で作業の管理ができます。「7.新機能の追加作業」の段階で、他のユーザーに新機能の良し悪しを見てもらうこともできます。
もしその新機能が不必要なら、「feature」ブランチを削除すればよいです。