バージョン管理システム

バージョン管理システムとは、ソースコードやドキュメントなどのファイルの変更履歴を管理するためのシステムです(参考)。このページでは、バージョン管理システムとして次の二つのツールのインストール方法や使い方を紹介します。

1. Subversion(及び、Subversionリポジトリを簡単に操作できるWindowsクライアントとしてTortoiseSVN)

2. Git(及び、Gitレポジトリを簡単に操作できるWindowsクライアント)

 

1. Subversion

1.1 Subversionとは

Subversion(正式名称:Apache Subversion)は、プログラムのソースコードや、ドキュメントファイルを管理する集中型バージョン管理システムです。管理対象のリソース(ファイル・フォルダ)を格納するために「リポジトリ」と呼ばれる領域を作成して、リソースに対する追加、修正、削除を記録することができます。記録された情報は版数(バージョン番号)を用いて管理されており、利用者は最新のリソースまたは特定バージョンのリソースを自由に利用することができます。

※Apache Subversion公式サイトhttp://subversion.apache.org/

 

Subversionは、クロスプラットフォームのソフトウェアですので、WindowsやLinuxなど様々なプラットフォームにインストールできます。また、WebDAVをバックエンドに用いることで、HTTPサーバを経由して複数人でリポジトリを利用することができます。

 

1.2 Subversionのインストール

Subversionの公式サイトから、オペレーティングシステムに応じたバイナリパッケージがダウンロードできます。Windows版のバイナリパッケージは、以下のURLからダウンロードできます。

http://subversion.apache.org/packages.html#windows

ダウンロードしたパッケージをダブルクリックし、メニューに従って進むことでインストールは完了します。 

 

※本ページでは、バイナリパッケージでインストールしたSubversionではなく、 次に紹介する「TortoiseSVN」を使ってリポジトリを作成する方法を紹介します。

 

1.3 TortoiseSVNとは

「TortoiseSVN」は、Windowsマシン用に開発されたSubversionのクライアントソフトウェアです。WindowsのエクスプローラーにSubversionのリポジトリを操作のための拡張機能を追加します。TortoiseSVNの詳しい情報は、公式サイトで公開されている日本語版マニュアルを参照してください。

  

1.4 TortoiseSVNのインストール 

 TortoiseSVNのインストールについては、「SourceForge.JP」で公開されている以下の情報を参照してください。 

http://sourceforge.jp/projects/tortoisesvn/howto/install

 ※同サイトのダウンロードページからインストーラー付きのパッケージと、ユーザーインターフェースを日本語化するためのLanguage Packがダウンロードできます。

 

1.5 リポジトリの作成方法と基本的な操作方法

TortoiseSVNを用いたリポジトリの作成方法と、TortoiseSVNの基本的な操作方法については、公式サイトで公開されている情報を参照してください。

 

試してみましょう(TortoiseSVNの公式サイト)

http://tortoisesvn.net/docs/nightly/TortoiseSVN_ja/tsvn-qs-guide.html

 

TortoiseSVNの使い方(SourceForge.JPのサイト)

http://sourceforge.jp/projects/tortoisesvn/howto/usage

 

2. Git

2.1 Gitとは

Gitは、ソースコードやドキュメント管理を行う分散型バージョン管理システムです。GitではSubversionと異なり、ローカルPCにリポジトリを作成できます。従って、中央レポジトリをローカルにコピーし、ローカルでソース等を編集してローカルのリポジトリにコミットし、最後に中央のレポジトリに反映させる形で開発を進めることが可能です。

RubyやRuby on Railsの開発においてはGitはよく使われています。例えば、Gitの共有ウェブサービスであるGitHubでは、多くのRubyライブラリやアプリケーションが公開され、ダウンロードすることができます。また、Ruby版PaaSであるHerokuでは、ローカルで作成したアプリケーションをGitでプッシュする形をとっています。

 

2.2 Gitのダウンロード

Gitのダウンロードサイト(http://git-scm.com/download)からOSに対応するものを選択(クリック)します。Windowsの場合は、Cygwin版とmsysGit版の二つがありますが、初心者には、扱いやすいmsysGit(http://code.google.com/p/msysgit/downloads/list)版をお勧めします。

msysGitのリンクをクリックするとダウンロードできるバイナリの一覧が表示されます。最新のバージョンの「Git-(バージョン番号)-preview(日付).exe」をクリックします。msysGitのバージョン1.7.10以降はUTF-8に対応しているので、日本語を扱うことができます。

msysGit ダウンロード一覧

 

詳細ページにある「Git-(バージョン番号)-preview(日付).exe」をクリックしてダウンロードします。 msysGit ダウンロード画面

 

 

2.3 Gitのインストール

以降、msysGitのインストール方法について説明します。まずGitでのホームディレクトリを示す環境変数"HOME"を設定します。特に指定がなければ、自分のユーザーフォルダ(C:\Users\(ユーザ名))がHOMEとなり、ここに設定ファイルが入ります。

 

ダウンロードしたファイル(Git-(バージョン番号)-preview(日付).exe)をダブルクリックします。Welcome to the Git Setup Wizardが立ち上がりますので、[Next]を押下します。

msysGitインストール Welcome画面

 

ライセンス条項を一読して[Next]を押下します。

msysyGitインストール ライセンス画面 

 

msysGitのインストール先を選択します。変更の必要がなければ、このまま[Next]を押下します。

 msysGitインストール インストール先指定画面

 

インストールするコンポーネントを選択します。Additional iconsではショートカットの作成先の指定、Windows Explorer integrationはExplorerからGitメニューを呼び出す指定、Associate .git*...とAssociate .sh...は.gitと.shの拡張子を持つファイルの関連付けの指定、Use a TrueType font...はコマンドプロンプトにTrueTypeフォントを設定するかどうかの指定です。ここでは、Explorerの右クリックでBashシェルやGUIツールを立ち上げられるようにSimple context menuを設定(変更)しておくと便利です。[Next]を押下します。

 msysGitインストール コンポーネント選択画面

 

Windowsのスタートメニューに入るGitのショートカットのフォルダ名の設定です。変更の必要がなければ、このまま[Next]を押下します。

msysGitインストール スタートメニュー名設定画面

 

GitをBashシェルから使うか、コマンドプロンプトからも使うかを選択します。変更の必要がなければ、このまま[Next]を押下します。

msysGitインストール シェル起動設定画面 

 

チェックアウトやコミット時の改行コードの変換方法を指定します。Gitで管理するファイルは、改行コードがLFで統一することを推奨しています。上のCheckout Windows-style...を選択すると、チェックアウト時はLFをCRLFに変換し、コミット時はCRLFをLFに変換します。真ん中はチェックアウト時は変換せずコミット時のみCRLFをLFに変換します。下は変換を行いません。変更の必要がなければ、このまま[Next]を押下します。

msysGitインストール 改行コード変換設定画面 

 

インストールが開始されます。

msysGitインストール インストール中画面 

 

インストールが完了しました。

msysGitインストール インストール完了画面

 

 

2.4 Gitの初期設定

デスクトップ上に作成された[Git Bash]のアイコン(アイコンがない場合は、スタートメニュー→[すべてのプログラム]→[Git]→[Git Bash])を右クリックし、[プロパティ]をクリックします。Git Bashのプロパティにおいて、[フォント]タブを開き、フォントの一覧から「MS ゴシック」を選択し[適用]ボタンを押下します。最後に[OK]を押下します。

msysGit初期設定 Bashのフォント設定 

 

[Git Bash]のアイコンをダブルクリックして、Git Bash(MINGW32)を起動します。

Bashの初期設定 Bashシェル画面 

 

まず初めに、ユーザ名とメールアドレスを、コマンドから入力して登録します。

$ git config --global user.name "Ruby Taro"
$ git config --global user.email "ruby@xxx.yyy.zzz"

 

コマンド出力を見やすくする設定を登録します。

$ git config --global color.ui auto

 

コミットログを入力するエディタとして、標準ではvimが設定されていますが、現在のmsysGitはコンソールへの日本語入力ができません。-m オプションによるログの日本語入力もできません。そこでログを入力するエディタを以下のように変更しておきます(以下はサクラエディタを登録する例ですが、ご自身のインストールしたエディタに応じてファイルパスを変更してください)。これを設定しておくことで、コミットログを保存してファイルを閉じると、コミット処理が実行されるようになります。

$ git config --global core.editor   '"C:/Program Files/sakura/
sakura.exe"'

 

エスケープ表示をキャンセルする設定を登録します。

$ git config --global core.quotepath false 

 

lsを実行すると文字化けを起こすため、HOMEのディレクトリに".bashrc"というファイル名でファイルを作成し、以下の内容を記入して保存します。

alias ls='ls --color=auto --show-control-chars'

 

最後に設定内容を確認します。設定内容はHOMEディレクトリの.gitconfigに登録されています。

$ cat $HOME/.gitconfig
[user]
name = Ruby Taro
email = ruby@xxx.yyy.zzz
[color]
ui = auto
[core]
quotepath = off
editor = \"C:/Program Files/sakura/sakura.exe\"

 

以上でBashを通じて、バージョン管理を行う基本的な設定が整いました。使い方については、詳しくは、Gitの本家サイトのチュートリアル(日本語訳)を参考にしてください。またGitHubにリポジトリを作成してバージョン管理を行うには、GitHubのチュートリアルが参考になります。

Bashはコマンドラインでの作業となるため、コマンドラインに不慣れだと作業が難しいかもしれません。そのような人の為に、GitをGUIで操作できるツールを次に紹介します。

 

 

2.5 GitのWindowsクライアント

GitレポジトリをUIを通じて簡単に操作できるツールがいくつかあります。代表的なツールとしては、TotoiseGitというTortoiseSVNと似たUIをもつGitクライアントがあります。TortoiseGit Japanでは、このツールの日本語化パッチやインストール手順が公開されています。

この他にもGit Extensionsや、Visual Studioと統合したGit Source Control Provider、Eclipsと連携したEGitなどもあります。