CodeZine(コードジン)

特集ページ一覧

Gitでブランチを操作する

Windowsユーザー向けGit入門(4)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2013/08/05 14:00

目次

履歴管理の概念

 ブランチの作成と切り替え方法を理解したところで、少し概念的な説明をします。

 Gitの履歴は、コミットごとにコミットオブジェクト(*1)を作成し管理しています。またコミットオブジェクトは、直前のコミットオブジェクトへの参照を持っています(図2)。

*1)

 コミットオブジェクトは、以前説明したように識別子としてSHA-1のハッシュ値を持っています。

図2:コミットオブジェクトの概念
コミットオブジェクトの概念

 例えばローカルリポジトリに、C1,C2,C3と3回コミットしたとしましょう。このとき、3回目のコミット内容であるC3は、直前のコミットであるC2を、C2はC1をと言ったようにグラフ構造で表すことができます。このように、Gitのコミットオブジェクトはすべての祖先をたどることができるように管理されています。

 さて、先ほどの操作を図示していましょう。①は、bugfixブランチを作成する前の状態です。

図3:コミットオブジェクトの概念
図3:コミットオブジェクトの概念

 ブランチとはコミットオブジェクトへのポインタに過ぎません。そして、前回も説明しましたが、HEADとは現在のブランチの最新コミットを表すポインタです。

 ②は、bugfixブランチを作成した状態です。bugfixブランチの作成直後は、masterと同じくC3をポイントしています。そしてブランチを切り替えると、③のようにHEADが指す先が切り替わります。

GUIからブランチの作成と切り替えを行う

 これらのブランチの作成、切り替えを操作をGUIで行ってみましょう。Git ExtensionsのGitブラウザを起動します。履歴ペインを見ると3回修正が行われており、最新の修正にmasterとマークされているが確認できます(図6左)。

 コンテキストメニューから[ブランチの作成]を選択します。ブランチの作成ダイアログが表示されます。新しいブランチ名を入力し、[作成]ボタンをクリックすれば完了です。

 作成直後に切り替えは、先ほど説明したcheckoutコマンドの-bオプションに相当する動作です。既定では、[作成後に切替]がオンとなっていますが、ここでは操作説明のためオフにして進めます。

図4:ブランチの作成ダイアログ
図4:ブランチの作成ダイアログ

 ブランチを切り替えるには、[Git]-[ブランチの切り替え]を選択します。[ブランチの切り替え]ダイアログが表示されるので、プルダウンリストからbugfixブランチを選択し、[切り替え]ボタンをクリックします。

図5:ブランチの切り替えダイアログ
図5:ブランチの切り替えダイアログ

 ブランチの作成、切り替えが完了すると図6右のとおりbugfixブランチが作成されていることが確認できるでしょう。ブランチ名の横三角印は、現在のブランチを示しており、ブランチが切り替わったことも確認できます。履歴左の線の部分は、先ほど説明した概念図を表しています。この時点では一直線ですが、ブランチの作成とマージなどを繰り返すと複雑になってきます。

図6:ブランチ作成前後の表示
図6:ブランチ作成前後の表示

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Windowsユーザー向けGit入門

著者プロフィール

  • WINGSプロジェクト statemachine(statemachine)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5