連載
» 2016年06月10日 05時00分 UPDATE

こっそり始めるGit/GitHub超入門(3):ポインタ嫌いでも分かるGitブランチの基本――作成、確認、切り替え、masterにマージ、削除 (1/3)

本連載では、バージョン管理システム「Git」とGitのホスティングサービスの1つ「GitHub」を使うために必要な知識を基礎から解説していきます。今回は、ブランチの基本として作成、確認、切り替え、masterにマージ、削除という一連の作業をコマンドの使い方と図を交えて解説します。

[平屋真吾,クラスメソッド]

 本連載「こっそり始めるGit/GitHub超入門」では、バージョン管理システムGit」とGitのホスティングサービスの1つ「GitHub」を使うために必要な知識を基礎から解説していきます。具体的な操作を交えながら解説していきますので、本連載を最後まで読み終える頃には、GitやGitHubの基本的な操作が身に付いた状態になっていると思います。

 連載第3回目の本稿のテーマは「ブランチの基本」です。

 前回の「“はじめのGit”――超基本的な作業フローと5つのコマンド」では「Gitの基本的な作業フロー」を解説しましたが、「ブランチ」についてはほとんど触れませんでした。

 今回は実際に作業を進めていきながら「ブランチ」の基本的な要素を解説していきます。

ブランチとは

 英単語「branch」は「枝」「支流」などの意味を持ちます。Gitの用語としての「ブランチ」は、「コミット履歴の流れを枝分かれさせるための機能」のことを指します。開発の本流から枝分かれしたブランチは他のブランチから独立した環境を持つことができるので、開発作業を平行して進めていくことができます。

ブランチ(枝分かれ)のイメージ(記事「ガチで5分で分かる分散型バージョン管理システムGit」より引用)

 手を動かしながらの方が理解しやすいと思いますので、作業を開始しましょう。次章で準備を行って、その次の章から「ブランチ」に関する操作を試していきます。

「ブランチ」を試すための環境を準備

 まずは、連載第2回と同じ操作を行って、「ブランチ」を試すための環境を作ります。連載第2回に沿ってリポジトリの作成とコミット2回を行っている場合は、読み飛ばして「カレントブランチを確認」の章に進んで構いません。

Gitリポジトリを準備

 適当なディレクトリに移動し、Gitリポジトリを作成します。

$ cd /Users/hirayashingo/Documents/hello-git-2
$ git init
Initialized empty Git repository in /Users/hirayashingo/Documents/hello-git-2/.git/

ファイルの追加とコミット

 「hello.txt」ファイルを追加し、ステージして、コミットします。

$ echo Hello > hello.txt
$ git add hello.txt
$ git commit -m "first commit"
[master (root-commit) dc32bd2] first commit
 1 file changed, 1 insertion(+)
 create mode 100644 hello.txt

ファイルの変更とコミット

 「hello.txt」ファイルの内容を変更し、ステージして、コミットします。

$ echo goodbye >> hello.txt
$ git add hello.txt
$ git commit -m "edit hello.txt"
[master 998e5a0] edit hello.txt
 1 file changed, 1 insertion(+)
図1 準備完了時点でのコミット履歴 図1 準備完了時点でのコミット履歴

カレントブランチを確認する

 リポジトリがあるディレクトリに移動していない場合は、移動します。

$ cd /Users/hirayashingo/Documents/hello-git-2

git statusコマンドで現在いるブランチを確認する

 「現在、どのブランチにいるか」を確認する方法はたくさんあります。

 まずは、「git status」コマンドを使用してカレントブランチ(現在いるブランチ)を確認してみましょう。

$ git status
On branch master
nothing to commit, working directory clean

 「On branch master」と表示されます。現在「master」という名前の「ブランチ」にいることを表しています。

ブランチの一覧を表示する――git branchコマンド

 「git branch」コマンドを使用して、カレントブランチを確認することもできます。「git branch」コマンドはブランチの一覧を表示するコマンドです。

$ git branch
* master

 現在「master」ブランチしかないので「master」だけ表示されます。また、カレントブランチの名前の左には「*」が表示されます。

ブランチの実体とは

 「一連のコミット履歴」で構成される「枝」のことを「ブランチ」と呼びますが、「ブランチ」の実体は、「一連のコミット履歴」の最新のコミットを指すポインタです。図2でいうと、「master」と書かれた黄色の矢印や「HEAD」と書かれた赤色の矢印のことです。

図2 「ブランチ」の実体はコミットを指すポインタ 図2 「ブランチ」の実体はコミットを指すポインタ

「git log」コマンドの「--oneline --decorate」オプションで「ポインタが、どのコミットを指しているか」を表示

 「git log --oneline --decorate」コマンドを使用すれば、「ポインタが、どのコミットを指しているか」が分かります。これまでに2回コミットを行ってきましたが、現在、「master」は最新のコミット(2回目のコミット)を指しています。

$ git log --oneline --decorate
8a0afb3 (HEAD -> master) edit hello.txt
8d7430a first commit

カレントブランチを表す「HEAD」

 上記メッセージに出てきた「HEAD」は基本的にカレントブランチを指します。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。