メニュー

記念すべき初コミット

それでは、実際にWEBサイトの更新ルーチンを辿ってみます。基本的に、WEBサイトの更新作業はファイルの変更、追加、削除のどれかですから、これら3つをマスターすればとりあえずやっていけます。

例えば、以下のようなWEBサイトをリポジトリにインポート・チェックアウトしたとします。

コミット1

このサイトに対して、以下の3つの作業を行います。まあ、作業と言ってもいたって普通のことをWindows上でするだけです。

するとまぁ、こんな感じになりますね。既に、お気付きと思われますが、index.htmlのアイコンが緑のマークから茶色に変わっていますね。 これは、そのファイルが現在のバージョンに対して何らかの変更がされていることを示すものです。bar.htmlにアイコンが付かないのは、まだこのファイルがバージョン管理下にないからです。

コミット2

基本3作業を加えたこの状態を、バージョン2としてリポジトリに登録したいと思います。リポジトリに新しい状態を登録することをコミットと言います。これらのファイルを一度にコミットするためには、親フォルダを右クリックし、TortoiseSVNの「Commit」を選びます。

コミット3

「Commit」を選択した後は、以下のウインドウが開きます。上段のテキストエリアにはバージョン2に対してコメントを書きます。空欄でも構いませんが、後々のために何か一言でも記入する癖を付けておきたいものです。
下段は今回変更のあったファイルの一覧が表示されます。新規でファイルを加える場合、つまりbar.htmlは、デフォルトでチェックが付きませんので忘れずにチェックしておきます。もしくは「Commit」をする前にTortoiseSVNメニューの「Add」で任意のファイルに予め追加のフラグを立てておくこともできますが、このように「Commit」時に選択するほうが楽な気がします。

コミット4

コメントと対象となるファイルを確認し、最後に「OK」ボタンを押せば見事コミット完了となります。

WEBサイトをアップデートする

これでWEBサイトにバージョン番号をつけて、更新することができるようになりました。気が済むまでコミットしたら、後は公開するだけです。
今まではファイルをFTPやSCPでちまちまサーバに送信していたことでしょう。でも、もう大丈夫。君にそんな辛い思いは二度とさせない! これからは、Windowsクライアントからサーバへファイルを送信するのではなく、サーバ側でリポジトリにチェックアウトし、後はアップデートしていけばいいのです。

svn checkout(co)でチェックアウトします。リポジトリを指定するにはfile://から始まるパスで書く必要がありますので注意。メッセージが表示されチェックアウトが無事済めば、サイトに反映されているはずです。

/var/www/に/home/aho/repository/mywebをチェックアウトする
$ svn co file:///home/aho/repository/myweb /var/www/
A aho/bar.html
A aho/index.html
Checked out revision 2.

さあ、最初の登録が終わりました。次回からはsvn update(up)でファイルを更新していきます。 前回チェックアウトした/var/www/で、svn updateをすればファイルが最新に入れ替わります。例えファイルを1,000個追加して、500個削除するような面倒な更新でも、svn updateコマンド1発で瞬く間に終了なのです。これって素晴らしくないですか?

バージョン3へサイトを更新する
$ svn up
A hoge.html
U bar.html
Updated to revision 3.

「あっと!いけない!間違いみっけ!すぐに戻さねばぁ!」
大丈夫、svn updateにお任せください。-rオプションで任意のバージョンに簡単に戻せます。どうです。にやけてしまうでしょう。

サイトをバージョン2へ戻す
$ svn up -r 2
U bar.html
D hoge.html
Updated to revision 2.

バージョン管理のススメ

長々とSubversionの紹介をしてきましたが、バージョン管理の圧倒的な利便性を感じていただけたでしょうか。
ソフトウェア開発の分野ではバージョン管理は当たり前に使用されていますが、WEBサイト管理にバージョン管理はほとんど行われていないと思います。
何故?ひょっとして「知らないだけ」だったら悲しいなぁ。

▲PageTOP

Warning: Sablotron error on line 1: XML parser error 3: no element found in /var/www/amazon/select_item.php on line 43