
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
* master
3.ブランチの切り替え
【書式】ブランチを切り替える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
などの操作を解説します。