エンジニアライフスタイルブログを運営しているミウラ(@miumiu06171)です。
こんにちは、普段はフリーランスでシステムエンジニアをしております。
今回は、プログラミング初心者が入門時におさえておきたい必須スキル【Gitコマンドでブランチ(branch)を操作する方法】を紹介していきます。
Gitを扱うのがそもそも初めてという方は、こちらでGitの使い方を事前に学習いただくと理解が深まります。
Gitブランチとは
「ブランチ」とは、「木の枝」を意味しています。
つまり、Gitリポジトリは上図の木の枝のように枝分かれして管理することができ、青色や緑色のようなブランチを作ってそれぞれ独立して作業を進められます。
今までは、下図のようにリポジトリ1つに対してmasterブランチというデフォルトで作成されているブランチのみを使用し、masterブランチにコミット操作を行ってきました。
チーム開発において、Gitブランチを使って開発を進めることが多いので、ここではGitブランチの基本的な使い方を紹介していきます。
Gitブランチの基本的な使い方
Gitブランチの基本的な使い方として、ブランチ一覧の表示、作成、切り替え、削除する方法などを確認していきます。
Gitブランチ一覧を表示(git branch)
Gitブランチ一覧を表示するには、以下の「git branch」コマンドを実行します。
【コマンド書式】
git branch |
【コマンド実行例】
* master |
コマンド実行結果の頭に * (アスタリスク) がついているのが「HEAD(ヘッド)」と呼ばれるもので、現在のブランチを指します。
ローカルリポジトリのブランチを図式化すると、下図のようなイメージです。
masterブランチ上にAという現時点が存在し、HEADはmasterブランチを指しています。
Gitブランチを作成(git branch)
ブランチを作成するには、以下の「git branch」コマンドを実行します。
【コマンド書式】
git branch <ブランチ名> |
【コマンド例】
「develop」という名前のブランチを作成する例です。
git branch develop |
ブランチ作成後のローカルリポジトリのブランチを図式化すると、下図のようなイメージです。
ここで注意したいのは、developブランチを作成しただけでは、HEADは動かないことに注意してください。
ちなみに「git checkout -b develop」コマンドのように-bオプションを使うと、ブランチの作成に加えて、後述するブランチの切り替えも同時に行ってくれます。
(つまり、HEADも切り替えてくれます)
Gitブランチを切り替える(git checkout)
ブランチを切り替えるには、以下の「git checkout」コマンドを実行します。
【コマンド書式】
git checkout <ブランチ名> |
【コマンド例】
「develop」という名前のブランチを作成する例です。
git checkout develop |
【コマンド確認】
「git branch」コマンドでブランチが切り替わったかどうか確認しましょう。
* develop
master |
ブランチ切り替え後のローカルリポジトリのブランチを図式化すると、下図のようなイメージです。
HEADがdevelopブランチを指すように変わります。
Gitブランチを削除(git branch -d)
ブランチを削除には、以下の「git branch -d」コマンドを実行します。
【コマンド書式】
git branch -d <ブランチ名> |
【コマンド例】
「develop」という名前のブランチを削除する例です。
git branch -d develop |
【コマンド確認】
「git branch -d」コマンドでdevelopブランチが削除されたかどうか確認しましょう。
* master |
developブランチを削除後のローカルリポジトリのブランチを図式化すると、下図のようなイメージです。
全Gitブランチのコミットログをグラフ表示
Gitコマンドで全ブランチのコミットログをグラフ表示するには、以下の「git log --oneline --graph --branches」コマンドを実行します。
git log --oneline --graph --branches |
例として、下図のようなブランチとコミット履歴の状態だと仮定します。
この状態でコマンドを実行すると、以下のようにコンソールにグラフ表示されます。
まとめ
Gitコマンドでブランチ(branch)を操作する基本的な方法として、ブランチの一覧表示、作成、切り替え、削除する方法などを紹介してきました。
本記事で紹介したブランチの操作は、プロジェクトリーダーの方が用意するケースが多いが、プログラマーの方が用意するケースも現場によってはあるので、しっかり覚えておきましょう。
また、プログラマーが用意することはなくとも、プロジェクトリーダーから「どのブランチをベースに新しい機能を開発してほしい」という要求はありますので、Gitのブランチという概念は必ずおさえておきましょう。