今日から始めるバージョン管理、Subversionの使い方

Pocket

Web制作の仕事をしていると必ずと言って良いほど発生するのが、バージョン管理の問題。サーバーにアップする形で納品する場合に、別の人が変更した箇所を変更前のファイルで上書きしてしまったり、新しく追加した機能を以前のバージョンに戻したいときに古いバージョンがどこにもない、といったことが発生します。

そんなときに役に立つのがバージョン管理ツール。このツールは古いバージョンを管理できるだけでなく、誰かが変更した部分を上書きするといった事故も防げてしまいます。

ツールにはいくつか種類があり、GitやSubversionが有名。この記事ではSubversionの使い方についてまとめていきます。僕自身も最近Gitを使い始めたばかりなので、勉強も兼ねてバージョン管理ツールの使い方を書いておきたいと思います。

バージョン管理って何?

Webの仕事をしていると先ほども書いたような事故がたびたび起こります。たまたま以前のバージョンが残っていたら良いのですが、残っていなければ悲惨なことに・・・

といった事故を防ぐためにあるのがバージョン管理ツール。これまで人力でファイル名を工夫しながらやりくりしていた作業からも解放されるというわけですね。

Subversionって何?

Subversionとはいくつかあるバージョン管理システムの1つで、通常はコマンドラインから操作を行います。ターミナルに慣れない方のために便利なツールもあるのでご安心を。

バージョン管理ソフトにはSubversionの他にGitがありますが、違いはリポジトリ(格納場所)が1つか複数かという点。リポジトリが1つだと一カ所にまとまるので分かりやすいのですが、サーバーにアクセスできないとファイルにもアクセスできないようになります。

一方複数あるとリモートだけでなく、開発者ごとにもリポジトリを持てるので、サーバーにアクセスできなくても開発可能というわけです。

Subversionを使う前の準備

ここでは初心者向け、ということでツールを使ったバージョン管理をやってみます。でもその前に、いくつか専門用語を確認しておきましょう。

バージョン管理の用語を確認

基本的な用語は以下の通り。

  • リポジトリ:ファイルの各バージョンを保存する場所
  • チェックアウト:リポジトリからデータを取り出すこと
  • コミット:リポジトリへファイルを書き込むこと
  • リビジョン:バージョン番号
  • ブランチ:リポジトリが分岐したもの

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

基本的には以下のような流れで作業が進みます。とくに難しいことはないですね。

  • リポジトリに最初のファイルを置く
  • リポジトリからローカルへ保存
  • ローカルでファイルを変更
  • リポジトリにコミット

Subversionのツール

ツールにはいくつか種類があるのですが、無料で有名なものだと以下のようなものがあります。

Subversionの使い方

ではさっそくツールをダウンロードして使ってみます。MacなのでsvnXをダウンロード。
subversionの使い方その1
アプリを起動すると画像のようになります。左がリポジトリ、右がローカルスペース。まずはリポジトリを登録します。+ボタンを押して必要事項を入力。
subversionの使い方その2
その後項目をダブルクリック。

したのですが、E180001というエラーに・・・調べてみた結果、ターミナルでリポジトリを作らないといけないようですね(;´Д`)
subversionエラー
ところが、ターミナルでチェックしてみるとMac(10.8.x)にはSubversionが入ってないっぽい結果に・・・インストールからやるしかなさそうです。
subversionのインストール方法

Subversionをインストールする方法

ネットで検索したところ、こちらのサイトに行きつきました。

つたない英語の知識で翻訳するとXcodeからCommandLineToolをインストールする必要があるようです。なのでさっそくXcode > Preferences > Downloads > Command Line Tools からインストール。
subversionのインストール方法2
その後チェックすると、無事にインストールされていることを確認できました。
subversionのインストール方法3

ターミナルからリポジトリを作成

無事にSubversionをインストールできたので、リポジトリを作成します。まずはリポジトリ用のフォルダを作成、今回はデスクトップに作成しました。その後ターミナルから先ほど作成したパスを指定して、create。

$ svnadmin create Desktop/svntest/repo

subversionの使い方その3
svnXのフォルダも同じパスにしてリポジトリを指定すると見事に起動!
subversionの使い方その4

実践Subversionでバージョン管理

リポジトリができたら、チェックアウトしたいディレクトリを作成。その後ツールバーのチェックアウトボタンを押してチェックアウトディレクトリを登録します。
subversionの使い方その5
チェックアウトディレクトリに適当なファイルを作成し、WorkingCopiesのパスをダブルクリックしてウィンドウを開きます(ファイルが表示されていなければ、ツールバーのRefreshをクリック)。

その後Addボタンを押してファイルを追加。
subversionの使い方その6
すると他のボタンも有効化されるのでコミットボタンを押してみます。コメントを入れるウィンドウが出てくるのでコメントを入れてOK。その後リポジトリのウィンドウを開くと、先ほどコミットしたファイルが登録されています。
subversionの使い方その7
あとはチェックアウト、ファイルのアップデート、コミットの繰り返し。もちろん古いバージョンのファイルをチェックアウトすることもできるので、バージョン管理が楽になります。
subversionの使い方その8

まとめ

このように自動的にバージョンが記録されていき、いつでも古いものと入れ替えることができるので大変便利。

最近はSubversionよりGitの利用者が多いので、Gitのほうも試したいと思います。

さらにSubversionを使いこなしたい方はこちらの書籍が断然おすすめ!ここでは基本的な使い方のみを紹介しましたが、え!?こんな使い方できるの?という情報がたくさん掲載されています。