git branch - ブランチの一覧表示・ブランチの作成

ブランチの一覧表示、ブランチの作成を行うには「git branch」コマンドを使用します。

ブランチの一覧表示

ブランチを一覧表示するには「git branch」コマンドで、引数をなしにします。

# ブランチの一覧表示
git branch

ブランチの一覧が表示されます。現在のブランチ名には「*」マークがついています。

* blead
  fix_bug
  v2_release

ブランチの作成

ブランチを作成するには「git branch」コマンドで、ブランチ名を指定します。

# ブランチの作成
git branch ブランチ名

ブランチ名

ブランチ名には、開発作業がわかる簡潔な名前を付けることをお勧めしています。

商品の変更機能を追加するための開発ブランチの場合の例。

git branch goods_update

ポイントは、他のブランチと区別ができることと、わかりやすいことです。

大きなプロジェクトの場合は、作業者名が入ったりなど、もう少し長くなるかもしれません。

ブランチとは何ですか?

ブランチとは、開発を分岐させることができる機能のことです。たとえば、「新しい機能を追加」「バグを修正」「バージョン2のための保守」などに利用されます。bleadは、ここではメインのブランチで「bread leading(ブレッドの先頭)」という意味だと考えてください。

o - o - o - o - o - o - o blead
        |     |
        |     - o - o fix_bug
        |
        - o - o - o - o v2

内部実装としては、Gitの場合のブランチとは、単にコミットの先頭への参照のことです。コミットを分岐させることがブランチの作成で、コミットが分岐して伸びていくその先頭がブランチです。

Gitでは、ブランチは参照として作成されるので、ブランチ全体のコピーが発生するということはなく、高速にブランチの作成を行うことができます。

「git branch」を実行した直後は、こんな感じです。

# git branch 直後
o - o - o  <- blead
           <- fix_bug

ブランチがコピーされることはなく、伸びているoの先頭のコミットIDに、fix_bugという名前が付くだけです。これが、参照という意味です。PerlのリファレンスC言語のポインタを理解していれば、比較的理解しやすいかと思います。

fix_bugブランチでコミットをひとつ進めてみましょう。次のようになります。

# fix_bugでコミットを進める

o - o - o   <- blead
        |
        - o <- fix_bug

他のコミットやブランチやタグを元にしてブランチを作成する

他のコミットIDやブランチやタグを元にしてブランチを作成することもできます。ブランチはリモートブランチでもローカルブランチでもOKです。リモートブランチは単に、リモートリポジトリのブランチという意味です。

git branch ブランチ名 元にするブランチ名など

他のコミットやブランチやタグを元にしてブランチを作成するサンプルです。

# コミットを元にする
git branch new_branch 7e4fd9251ed97e69274121a13d27f75c96ae7c61

# 他のブランチを元にする
git branch new_branch fix_bug

# リモートブランチを元にする
git branch new_branch origin/fix_bug

# タグを元にする
git branch new_branch v2.1

関連情報