kledgeb UbuntuやLinuxの最新情報を紹介

Ubuntu Git その16 - 短期間で他のブランチにマージされるブランチ

短期間で他のブランチにマージされるブランチ (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」ブランチを削除すればよいです。


Git
スポンサー
コメント
コメントポリシー
コメントをする前に UbuntuのCode of Conduct(CoC/行動規範) を確認し、CoCに沿ったコメントをお願いします。
コメントの使い方は、コメントの使い方を参照してください。
同一カテゴリーの記事
SNS
人気の記事
  • Ubuntu 26.04 その68 - Ubuntu 26.04.1 LTS がリリースされました・ディスクイメージのダウンロード
    Ubuntu 26.04.1 LTS リリース 2026年8月27日、Ubuntu 26.04.1 LTS がリリースされました。
  • Ubuntu 26.04 その42 - Ubuntu 26.04.1 LTS のリリーススケジュール
    Ubuntu 26.04.1 LTSのリリーススケジュール Ubuntu 26.04.1 LTS のリリーススケジュールを紹介します。
  • Linux その426 - GNOME 向けアプリとアップデートの紹介・AI アシスタントアプリやメールスイートなど
    GNOME 向けアプリとアップデートの紹介 GNOME 向けアプリとアップデートの紹介です。
  • Linux その429 - GNOME 向けアプリとアップデートの紹介・ RSS リーダーのインポート機能や映画マトリックスのデスクトップ効果など
    GNOME 向けアプリとアップデートの紹介 GNOME 向けアプリとアップデートの紹介です。
  • Ubuntu 18.04 その195 - PolicyKitにクラッシュや権限の昇格など複数の脆弱性・今すぐアップデートを
    PolicyKitの脆弱性 2018年7月16日、クラッシュや権限の昇格など複数の脆弱性に対応した「PolicyKit」がリリースされました。
  • Ubuntu 26.10 その24 - Ubuntu 26.10 の公式壁紙と壁紙コンペの結果発表
    Ubuntu 26.10 の公式壁紙と壁紙コンペの結果発表 Ubuntu 26.10 の公式壁紙と壁紙コンペの結果が発表されました。
  • Linux その428 - KDE Plasma で実装予定の新機能や改善・マウスの中央ボタンの機能改善やリモートデスクトップの改善など
    KDE Plasma で実装予定の新機能や改善 KDE Plasma で実装予定の新機能や改善を紹介します。
  • Linux その425 - KDE Plasma で実装予定の新機能や改善・Union テーマシステムの改良やクリップボードマネージャーの改善など
    KDE Plasma で実装予定の新機能や改善 KDE Plasma で実装予定の新機能や改善を紹介します。
  • Linux Mint その292 - Linux kernel 7.0 採用の Linux Mint 22.3 リリース・システム管理ツールにカーネル管理機能追加など
    Linux Mint 月刊ニュース Linux Mint 開発チームは Linux Mint 月刊ニュースにて、Linux Mint の開発状況や取り組みを紹介しています。
  • Ubuntu 26.10 その23 - x86-64-v3 に対応したデイリービルドのディスクイメージが利用可能に
    x86-64-v3 に対応したデイリービルドのディスクイメージが利用可能に x86-64-v3 に対応した Ubuntu Desktop 26.10 のデイリービルドのディスクイメージが利用可能になりました。
記事のピックアップ
オプション