リポジトリの作成と基本的なバージョン管理――SourceTreeで始めるGitバージョン管理入門 第1回

リポジトリの作成と基本的なバージョン管理――SourceTreeで始めるGitバージョン管理入門 第1回

 本記事では、GUIで操作できるGitクライアントであるSourceTreeを使用し、バージョン管理を行う際に必要なリポジトリの作成やリポジトリへのファイルの追加/削除、コミットといった基本的な作業について説明します。

【連載】SourceTreeで始めるGitバージョン管理入門

本記事について

 本記事は、2014年10月22日にソフトバンク クリエイティブより発売された書籍「デザイナーからプログラマーまで 絶対わかるGitバージョン管理」から、「第2章 バージョン管理はじめの一歩」の一部を抜き出し再構成したものです。

 なお、本書の解説ではMac OS X版のSourceTreeを使用していますが、Windows版の場合でも同じ操作で作業を行うことが可能です。

 出版社ページ / Amazon.co.jpの商品ページ

 大型本: 320ページ、価格:2,500円(税抜)、ISBN: 978-4-7973-8036-1

バージョン管理の基本的な流れ

 Gitでは、リポジトリというデータベースを作成し、そこにファイルや変更履歴を記録していくことでバージョン管理を行います。まずはGitによるバージョン管理の基本的な流れを押さえておきましょう。

Gitによるバージョン管理

 Gitによるバージョン管理は、図1のような流れで行います。まず、適当なディレクトリにリポジトリを作成します。空のディレクトリを新規に作成してもよいですし、バージョン管理したいファイルがあるなら、そのファイルがあるディレクトリにリポジトリを作成しても構いません。ここでリポジトリを作成したディレクトリが作業ツリーのトップディレクトリとなります。

図1 Gitによる基本的なバージョン管理の流れ
図1 Gitによる基本的なバージョン管理の流れ

 なお、Gitでは作業ツリー外のファイルやディレクトリ(作業ツリーのトップディレクトリやサブディレクトリに含まれないファイルやディレクトリ)はバージョン管理の対象にできません(図2)。複数のディレクトリを対象にバージョン管理を行いたい場合、それらのディレクトリを含むディレクトリにリポジトリを作成する必要があります。

図2 Gitリポジトリと管理対象ディレクトリの関係。リポジトリを作成したディレクトリおよびサブディレクトリに含まれるファイルのみがバージョン管理の対象となる
図2 Gitリポジトリと管理対象ディレクトリの関係。リポジトリを作成したディレクトリおよびサブディレクトリに含まれるファイルのみがバージョン管理の対象となる

 リポジトリを作成したら、続いてバージョン管理の対象となるディレクトリ内にバージョン管理したいファイルを作成、もしくはコピーします。ただし、ファイルを作成・コピーしただけではバージョン管理の対象にはなりません。作成・コピーしたファイルをバージョン管理の対象として登録する必要があります。最後にコミットを実行することで、登録したファイルの情報がリポジトリ内に記録されます。

 一度コミットを行った後は、ファイルを編集したり、新しいファイルを追加したり、ファイルを削除する、といったタイミングで再度ファイルの登録とコミットを実行します(図1の3と4の作業)。Gitでは一度登録したファイルに対して変更を加えたら、再度ファイルを登録しないとコミット対象にならないので注意が必要です。また、コミットを実行しないと変更した内容が記録されないので、一定の作業が完了したら必ずコミットを実行するように心がけましょう。

コミットとコミットID

 Gitによるバージョン管理のメリットとして、「いつでも過去のバージョンに復元できる」という点があります。Gitではコミットを実行すると、そのコミットにIDが割り当てられます。このIDは「a」から「f」までのアルファベットと数字からなる不規則な40文字の文字列となっており、「コミットID」と呼ばれます。これを使ってコミットを指定し、そのコミット時点でのリポジトリ内の特定のファイル、もしくはすべてのファイルを復元することが可能です。

 コミットにはバージョン管理対象のファイルに加えた変更点やコミットIDのほか、コミットを実行したユーザーの名前やメールアドレス、実行した時刻、コミットの内容を説明するメッセージなどが記録されます。後述しますが、これらの情報はGitクライアントのログ機能で確認できます。

リポジトリの作成

 Gitでバージョン管理を行うには、はじめにリポジトリを作成する必要があります。SourceTreeでは「ファイル」メニューの「新規/クローンを作成する」からリポジトリを作成できます。また、「ブックマーク」ウィンドウの左端のツールバーアイコンをクリックしても同様の操作を行えます。

 Gitではリポジトリを作成する方法として、新規に空のリポジトリを作成する方法と、既存のリポジトリを複製して作成する方法の2つが用意されています。新規に空のリポジトリを作成するには、まず「リポジトリを作成」をクリックし、「リポジトリのタイプ」として「Git」を選択します(図3)。

図3 「リポジトリを作成」画面ではリポジトリを作成するディレクトリを指定する。この例では「/Users/hylom/work」ディレクトリにリポジトリを作成している
図3 「リポジトリを作成」画面ではリポジトリを作成するディレクトリを指定する。この例では「/Users/hylom/work」ディレクトリにリポジトリを作成している

 続いてリポジトリを作成するディレクトリを「リポジトリ保存先」で指定し「作成」をクリックします。リポジトリを作成すると、同時にそのリポジトリがブックマークに登録され、すばやくアクセスできるようになります。

 なお、Windows版のSourceTreeでは「ブックマーク」画面がメインウィンドウの左側に表示されますが、機能自体に変わりはありません(図4)。

図4 Windows版SourceTreeでは「ブックマーク」画面がメインウィンドウの左側に表示される
図4 Windows版SourceTreeでは「ブックマーク」画面がメインウィンドウの左側に表示される

 また、「表示」メニューの「ブックマーク表示/非表示を切り替え」でブックマーク画面の表示/非表示を切り替えることが可能です。

既存のリポジトリを開く

 SourceTreeの起動直後は、前回開いていたリポジトリが自動的に表示されます。また、ブックマーク画面に表示されているリポジトリをダブルクリックするとそのリポジトリが表示されます。別のリポジトリを開きたい場合は、「ファイル」メニューの「開く」を選択し、そのディレクトリを指定します。また、複数のリポジトリを同時に開くことも可能です。OSX版のSourceTreeではリポジトリごとにウィンドウが開きますが、Windows版のSourceTreeでは開いているリポジトリをタブで管理できます。

作成されるリポジトリ関連ファイルとリポジトリの削除

 リポジトリを作成すると、そのディレクトリ内に「.git」というディレクトリが作成され、そこに変更履歴を管理するデータベースや設定ファイルなどが格納されます。これらのファイルやディレクトリを直接手作業で操作することはほとんどありませんが、不用意に操作してしまうとすべての履歴が消えてしまう可能性もあるので注意が必要です。

 誤ってリポジトリを作成した場合や、リポジトリが不要になった場合は、そのリポジトリに対応するディレクトリを削除することでリポジトリを削除できます。ただし、削除したリポジトリは復元できないので、慎重に削除してください。