Git でマスターブランチにマージされたすべてのローカルブランチをリストする方法

GitGitBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

Git は開発者がコードを効果的に管理し、共同作業を行うことができる強力なバージョン管理システムです。Git で一般的なタスクの 1 つは、マスターブランチにマージされたすべてのローカルブランチをリストすることです。この情報は、ローカルリポジトリをクリーンアップし、整理されたコードベースを維持するのに役立ちます。このチュートリアルでは、Git でマスターブランチにマージされたすべてのローカルブランチをリストする手順を説明します。


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL git(("Git")) -.-> git/BranchManagementGroup(["Branch Management"]) git/BranchManagementGroup -.-> git/branch("Handle Branches") git/BranchManagementGroup -.-> git/checkout("Switch Branches") git/BranchManagementGroup -.-> git/merge("Merge Histories") git/BranchManagementGroup -.-> git/log("Show Commits") git/BranchManagementGroup -.-> git/shortlog("Condensed Logs") subgraph Lab Skills git/branch -.-> lab-417747{{"Git でマスターブランチにマージされたすべてのローカルブランチをリストする方法"}} git/checkout -.-> lab-417747{{"Git でマスターブランチにマージされたすべてのローカルブランチをリストする方法"}} git/merge -.-> lab-417747{{"Git でマスターブランチにマージされたすべてのローカルブランチをリストする方法"}} git/log -.-> lab-417747{{"Git でマスターブランチにマージされたすべてのローカルブランチをリストする方法"}} git/shortlog -.-> lab-417747{{"Git でマスターブランチにマージされたすべてのローカルブランチをリストする方法"}} end

Git ブランチの理解

Git は、開発者がコードベースの変更を効果的に管理および追跡できる分散型バージョン管理システムです。Git の基本的な概念の 1 つがブランチで、これはリポジトリ内の別個の開発ラインを表します。

Git ブランチとは何か?

Git ブランチは、リポジトリの履歴内の特定のコミットへの軽量で移動可能なポインタです。ブランチにより、開発者は master または main ブランチとして知られるメインのコードベースに干渉することなく、異なる機能やバグ修正に同時に取り組むことができます。

なぜ Git ブランチを使用するのか?

Git でブランチを使用することにはいくつかの利点があります。

  1. 並行開発:ブランチにより、複数の開発者がメインのコードベースに影響を与えることなく、異なる機能やバグ修正に同時に取り組むことができます。
  2. 実験:開発者は新しいブランチを作成して、アイデアを試したり、新しいアプローチを探求したりすることができ、メインブランチの安定性を損なうことがありません。
  3. 共同作業:ブランチは、開発者が別々の機能に取り組み、その後メインブランチに変更をマージできるようにすることで、共同作業を容易にします。
  4. デバッグの容易性:特定のブランチでバグが発生した場合、コードベースの他の部分に影響を与えることなく、簡単に分離して修正することができます。

ブランチの作成と切り替え

Git で新しいブランチを作成するには、git branch コマンドの後に新しいブランチの名前を指定します。

git branch feature/new-functionality

新しく作成したブランチに切り替えるには、git checkout コマンドを使用します。

git checkout feature/new-functionality

あるいは、git checkout -b コマンドを使用して、1 つの手順で新しいブランチを作成して切り替えることができます。

git checkout -b feature/new-functionality

ブランチのマージ

機能やバグ修正の作業が完了したら、ブランチをメインブランチにマージすることができます。これは git merge コマンドを使用して行います。

git checkout main
git merge feature/new-functionality

これにより、feature/new-functionality ブランチからの変更が main ブランチに統合されます。

マスターブランチにマージされたローカルブランチのリスト表示

Git リポジトリで異なる機能やバグ修正に取り組む際に、複数のブランチが蓄積されることがあります。やがて、これらのブランチの一部は master または main ブランチにマージされることがあります。どのローカルブランチがマージされたかを追跡することは、クリーンで整理されたリポジトリを維持するのに役立ちます。

git branch --merged の使用

Git は、現在のブランチにマージされたすべてのローカルブランチをリストする git branch --merged コマンドを提供しています。これは、既にメインのコードベースに組み込まれているため安全に削除できるブランチを特定したい場合に特に有用です。

master ブランチにマージされたすべてのローカルブランチをリストするには、次のコマンドを実行します。

git branch --merged master

これにより、master ブランチにマージされたすべてのローカルブランチのリストが表示されます。

出力の理解

git branch --merged コマンドの出力には、ブランチ名のリストが表示され、現在のブランチにはアスタリスク (*) が付けられます。例えば:

  feature/new-functionality
* main
  bugfix/issue-123

この例では、feature/new-functionality ブランチと bugfix/issue-123 ブランチが現在のブランチである main ブランチにマージされています。

マージ済みブランチの削除

master ブランチにマージされたローカルブランチを特定したら、git branch -d コマンドを使用して安全に削除できます。これにより、リポジトリをクリーンで整理された状態に保つことができます。

git branch -d feature/new-functionality
git branch -d bugfix/issue-123

ブランチがマージされていない場合、Git はそのブランチの削除を妨げます。ただし、強制的に削除する -D フラグを使用することもできます。

マージ済みブランチリストの活用

master ブランチにマージされたローカルブランチのリストは、クリーンで整理された Git リポジトリを維持するためにさまざまな方法で活用することができます。

マージ済みブランチのクリーンアップ

マージ済みブランチリストの主な使用例の 1 つは、すでにマージされたブランチを削除することでローカルリポジトリをクリーンアップすることです。これにより、リポジトリを整然と保ち、ブランチリストの混乱を減らすことができます。

git branch --merged master | grep -v "master" | xargs git branch -d

このコマンドは、まず master ブランチにマージされたすべてのローカルブランチをリストし、次に master ブランチ自体を除外し、最後に残りのマージ済みブランチを削除します。

未マージブランチの特定

マージ済みブランチをリストするだけでなく、git branch --no-merged コマンドを使用して master ブランチにマージされていないブランチを特定することもできます。これは、まだマージまたは対処する必要があるブランチを判断するのに役立ちます。

git branch --no-merged master

このコマンドは、master ブランチにマージされていないすべてのローカルブランチのリストを表示します。

ブランチ管理の自動化

ブランチ管理プロセスをさらに合理化するために、git branch --merged コマンドと git branch -d コマンドを組み合わせたスクリプトまたはエイリアスを作成することができます。これにより、マージ済みブランチをすばやく特定して削除することができ、リポジトリのメンテナンスがより効率的になります。

たとえば、.gitconfig ファイルに Git エイリアスを作成することができます。

[alias]
    clean-merged = "!git branch --merged master | grep -v \"master\" | xargs git branch -d"

その後、git clean-merged を実行すると、master ブランチにマージされたすべてのローカルブランチが削除されます。

マージ済みブランチリストを活用することで、Git リポジトリを整理し、混乱を減らし、アクティブな開発作業に集中することができます。

まとめ

このチュートリアルで概説した手順に従うことで、マスターブランチにマージされたすべてのローカル Git ブランチを効率的にリストする方法を学ぶことができます。この知識を活用することで、Git のワークフローをより適切に管理し、不要なブランチを特定して削除し、クリーンで整理されたコードベースを維持することができます。この Git テクニックを習得することで、開発プロセスが合理化され、全体的な生産性が向上します。