Linuxコマンドの基本:Git:ブランチを使う②

 ここでは、開発が完了したトピックブランチをメインブランチ(masterブランチ)に取り込む手順や、不要になったブランチの削除方法を示します。各コマンドには詳しい解説を加え、実践的なブランチ活用イメージを伝えます。


ブランチの統合と管理

 前回「Git:ブランチを使う①」では、ブランチを作成して新機能を独立して開発する流れを学びました。今回の「Git:ブランチを使う②」では、開発を完了したトピックブランチ(新機能や特定のタスクのために作られたブランチ)をメインブランチ(通常mastermainと呼ばれる)へ統合する「マージ(merge)」や、不要になったブランチを削除する方法を紹介します。

ブランチ運用の流れは次のようなイメージです。

  1. トピックブランチを作成して新機能や修正を行う
  2. トピックブランチ上で問題なく動作することを確認
  3. メインブランチにトピックブランチをマージして統合
  4. 不要になったトピックブランチを削除

こうした流れを習得すれば、安定したメインブランチを保ちながら、新機能開発や不具合修正を効率的に進められます。

ブランチをマージする

 ブランチをマージするとは、1つのブランチで行った変更を別のブランチへ取り込むことです。たとえば、function-nameブランチで開発した新機能をmasterブランチへ統合することで、メインラインに新機能が組み込まれた状態にします。

コマンド解説使用例
git checkout <ブランチ名>指定したブランチに移動します。マージ先ブランチ(例:master)へ切り替えてからマージを実行します。$ git checkout master
git merge <ブランチ名>現在のブランチに、指定したブランチの変更内容を取り込みます。必要な場合はマージコミットを作成し、統合の履歴を残します。$ git merge function-name

 マージ時にエディタが起動することがありますが、これはマージコミットメッセージを記入するためです。メッセージを入力してファイルを保存・終了すると、マージが完了します。

マージ先ブランチへの移動

 マージをするには、まずマージ先となるブランチに移動しておく必要があります。今回は、functione-nameブランチからmasterブランチへマージしたいため、masterブランチに移動します。

$ git checkout master

function-nameブランチのマージ

git mergeでブランチを指定してマージします。

【書式】指定したブランチを現在のブランチにマージする
git merge <マージするブランチ名>

$ git merge function-name

 これで、function-nameブランチの内容がmasterブランチにマージされました。現在の状態を下図のようになります。

ブランチを削除する

 マージが完了したトピックブランチは、基本的に不要となります。履歴がメインブランチに統合されたため、保守する必要がありません。不要なブランチを削除することで、ブランチ一覧を整理し、プロジェクトをわかりやすく保てます。

コマンド解説使用例
git branch -d <ブランチ名>既にマージ済みのブランチを安全に削除します。マージされていないブランチは削除できません。$ git branch -d function-name
git branch -D <ブランチ名>強制的にブランチを削除します。マージしていない変更を含んだブランチを削除すると、履歴が失われるため要注意。$ git branch -D function-name

 -dオプションは、安全策としてマージされていないブランチを削除させません。もし誤ってマージ前のブランチを削除しようとするとエラーとなり、履歴喪失事故を防ぎます。どうしても削除したい場合は-Dオプションを利用できますが、その際は本当に失って良い内容か慎重に確認しましょう。

ブランチの削除

 feature-nameブランチはもう必要でなくなったため、このブランチを削除します。ブランチを削除するときは、次のコマンドを使用します。

【書式】ブランチを削除する
git branch -d <ブランチ名>

$ git branch -d function-name
Deleted branch function-name (was 9d389a1).

トピックブランチの活用例

  • 新しい機能を実装するときは、メインブランチ(master)からトピックブランチを作成し、その中で作業することで、メインブランチを安定した状態に保つことができます。
  • 大きな修正や実験的な変更もトピックブランチで行い、完成したらマージ、不要になれば削除という流れで開発を進められます。
  • 仮に開発を途中で断念する場合も、トピックブランチを削除するだけで、メインブランチに影響を与えずに元の状態に戻れます。

まとめ

 「Git:ブランチを使う②」では、トピックブランチをメインブランチにマージし、安定したコードベースに統合する手順を学びました。また、不要になったブランチを削除する方法も紹介しました。これらの操作を組み合わせることで、開発はより柔軟になり、常に安定したメインブランチを保ちつつ、新機能や改善点を加えていくことが可能になります。

 これらのブランチ操作をマスターすれば、複数人での開発や並行作業、実験的な変更にも自在に対応できるようになり、Gitを使った開発フローが一段とスムーズになるでしょう。