
Linuxコマンドの基本:Git:ブランチを使う①
ここでは、ブランチを使うメリットやブランチの基本操作(一覧表示、作成、切り替え)を紹介します。また、各コマンドには詳細な解説を加え、ブランチの概念を理解しやすくします。
なぜブランチを使うのか
ソフトウェア開発では、新機能の実装や不具合修正など、複数の作業が同時並行で進められることが珍しくありません。Gitの「ブランチ」は、こうした並行作業をスムーズに行うためのしくみの1つです。

ブランチとは、コミット履歴の分岐(枝)を表すものです。1つの基点(コミット)から別の方向へ変更履歴を枝分かれさせることで、異なる作業内容を独立した流れとして管理できます。これにより、以下のようなメリットが生まれます。
- 新機能開発と不具合修正を別々のブランチで進められる。
- 互いに影響を与えずに作業でき、途中で切り替えも簡単。
- 開発の進行状況を明確に保ちながら、必要なときにメインブランチ(通常
masterやmainと呼ばれる)へ統合できる。
Gitのブランチ図

ブランチの基本概念
Gitのブランチは、履歴上の特定のコミットを指し示す「ラベル」のような存在です。通常、リポジトリを初期化した際にmaster(あるいはmain)というメインのブランチが作成され、そこへコミットが積み重なっていきます。新しいブランチを作成すると、そのブランチは指定したコミットを起点として、新たなコミットの流れを形成できます。
以下は、ブランチ操作に関する主なコマンド一覧と解説です。
| コマンド | 役割・詳細解説 | 使用例 |
|---|---|---|
git branch | 現在のリポジトリに存在するブランチ一覧を表示します。*印が付いているブランチが現在いるブランチです。 | $ git branch |
git branch <ブランチ名> | 新しいブランチを作成します。まだ切り替えは行われず、ブランチは一覧に追加されるのみです。 | $ git branch feature-name |
git checkout <ブランチ名> | 指定したブランチへ切り替えます。切り替えると、ワークツリーに展開されるファイル群が変更され、そのブランチに対応した状態になります。 | $ git checkout feature-name |
実際の流れ(例)
1.ブランチ一覧の確認
リポジトリ作成直後は、master(またはmain)ブランチのみが存在します。
$ git branch
* master*印が付いたmasterブランチが現在使用中のブランチです。

2.新しいブランチの作成
新たな機能開発をするために、function-nameというブランチを作成します。
$ git branch function-nameブランチ一覧を見るとfunction-nameが追加されていますが、まだmasterブランチにいます。
$ git branch
function-name
* master3.ブランチの切り替え
【書式】ブランチを切り替えるgit checkout <移動先ブランチ名>
git checkoutコマンドでfunction-nameブランチに移動します。
$ git checkout function-name
Switched to branch 'function-name' 再度git branchで確認すると、* function-nameと表示され、function-nameブランチが現在のブランチになっています。
$ git branch
* function-name
master ここまでの履歴の状態は、下図のとおりです。まだfunction-nameブランチには何もコミットしていないので、function-nameとmasterは同じコミットを指しています。

ここでコミットを行うと、現在のブランチが指し示す先が新しいコミットに移ります。つまり、現在のブランチのコミットが1つ先に進みます。現在、function-nameブランチにいるので、下図のようになります。

4.masterブランチに戻る
function-nameブランチで作業を進めてコミットすると、function-nameブランチの履歴が更新されます。一方、masterブランチをgit checkout masterで切り替えれば、function-nameブランチの変更が反映されていない状態に戻せます。このように、各ブランチは独自のコミット履歴を持つため、複数の作業を並行して進めることが可能になります。
masterブランチに戻る
$ git checkout master
Switched to branch 'master'masterブランチに戻ってからワークツリーのファイルを確認すると、function-nameブランチで行った修正がなくなっていることがわかります。この状態でコミットをすると、function-nameブランチはそのままで、masterブランチのコミットが1つ進みます。現在の状態は下図のようになります。

まとめ
- ブランチはコミット履歴の枝分かれを表し、別々の作業を独立した流れとして扱える。
git branchでブランチを作成・一覧確認、git checkoutでブランチを切り替える。- ブランチを使うことで、新機能追加や不具合修正を同時並行で進行し、後から簡単に切り替え・統合可能。
これらを習得すれば、より効率的で整理された開発フローを構築できます。次回は「Git:ブランチを使う②」にてブランチ同士を統合するgit mergeなどの操作を解説します。
