バージョン管理システム

SVNのチェックアウトとは?なぜSVNをつかうのか?【全く知らない人向け】

まずは結論から

早く知りたい人のために結論から話します

SVNのチェックアウトとは

「共有サーバーから対象のファイルをダウンロードする行為」

です。

SVNの専門用語なしで解説するとこんな感じです。

このあとは詳しく知りたい人のために

  • SVNって何?
  • そんなに有名なの?
  • なんでSVNで管理しているの?
  • チェックアウトとは?
  • チェックアウトするには?

などを解説していきたいと思います。

SVNってなに?

SVNとは正式名称「Subversion(サブバージョン)」といって、バージョン管理システムの一つです。

バージョン管理システムとは何か?

かなり砕けた言い方をすると

「ファイルのバージョンを細かく管理するため」のシステムです。

みなさんもエクセルやワードを修正したいものが、あるときにいつでも元の状態に戻せるようにバックアップをとって

新しいファイルには

ver1.0、ver1.1・・・

なんてファイル名を変えたりすると思います。

それのパワーアップ版だと思ってもらってよいです。

このサブバージョンで管理すれば

ver1.0なんてファイル名をつけなくても済むし、

ロック機能や、コミット機能を使えば、複数の人でファイルをいじっても

誰がいつどのような修正したのかが手に取るようにわかります。

そんなに有名なの?

「SVN」って当たり前のようにシステム開発者の間で飛び交っているけど

そんなに有名なの?

と思うかもしれません。

「有名」です。

バージョン管理システムというのも有名どころは3つぐらいで、

  • GIT
  • Subversion
  • CVS

現在はGITが一番利用されているイメージです。

GITはクラウド上に保存されるのが通常なので、

企業で情報漏洩が起きニュースでも取り上げられることもあるほど有名です。

Subversion、CVSはGITよりも歴史が古いという意味で有名です。

なぜSVNで管理するのか?

なんで設計書とかプログラムとかSVNのようなバージョン管理システムで管理しているのか?

以下の3点かと思います。

SVNで管理する理由

  1. 大切な資産だから
  2. 変更が多いから
  3. 他人数で利用するから

です。

1.大切な資産

資産と言えば、土地、建物、車などいろいろと思い浮かべますが、

設計書、プログラムも大切な資産です。

資産。。。もっとはっきり言えばお金です。

時給に換算すると1時間、数千円もするエンジニアたちが膨大な時間をかけた資産です。

場合によっては億単位にも上るでしょう。

そんな資産をファイルサーバーにポンと置いて終わり。。。

だれかが削除したら一瞬にして消えてしまう。。

しかし、SVNを使えば管理したいファイルは利用者の手の届かない場所に格納しています。

この場所をSVNの専門用語で「リポジトリ」と言っています。

リポジトリに対しては通常、直接に変更や削除はできないようになっています。

このように大切な資産を守れるわけでです。

ここまで理解していただければ、逆に資産を簡易的なファイルサーバーで管理する方がおかしいと思うように感じてきたかと思います。

2.変更が多い

そのような大切な資産ですが、土地や建物などとは異なって

仕様変更、バグ修正といった変更が多く発生します。

大切な資産に対して、変更が頻繁にはいる。

性悪説で言えば、改ざんされる恐れもあります。

なので、いつ、だれが、何を変更したのか?

を証拠として残していく必要があるわけです。

また、変更が頻繁に発生するということは間違いも多く発生します

間違って削除した!

大幅に変更してしまったが前の状態に戻したい!

それもこのSVNなら一瞬で元通りになります!

3.他人数で利用するため

大きなシステムとなると、一人では作り切れません。

なので、通常は他人数でこれらのファイルに変更をかけていきます。

なので、1つのファイルに対して、複数の人が更新し、トラブルに発展することは少なくありません。

SVNではロック機能というものがあり、これを活用することで、

そのような事態を防ぎ

大切な資産(お金)を守ることができます。

ダウンロードとチェックアウトの違い

前述で

チェックアウト=サーバーからファイルをダウンロードする

とほぼ同じことだと言いましたが、

実は若干違うんです!(←嘘つき)

何が違うのかというと、結論から言えば

チェックアウトされたファイルは「SVNで管理する」という印がついている

ということです。

SVNで管理したいファイルはリポジトリと呼ばれる場所に格納されています。
通常はこのリポジトリに対して直接変更や参照はできない状態になっていますので、

そのリポジトリに対してはその場所から対象のファイルを

自分の端末にコピーします。

この行為を

チェックアウト

と呼びます。

またチェックアウトされたファイルは

SVNの専門用語で「作業コピー」と呼ばれるものになります。

通常、ダウンロードされたファイルとは違ってこの「作業コピー」と言うのは

チェックアウトされた段階ではすべてのファイルのアイコンに緑のマークがつきます。

このチェックマークは2つの意味をもっています。

  • SVNで管理する
  • 作業コピーの変更状態

アイコンがついているものは

このファイルはSVNで管理するよ!だから他のファイルとは意味が違うよ!

という印だと思ってください。

また、最初は緑のチェックマークのみですが、状態によりアイコンの色、形が変わります。

様々なマークがありますが、大きく2つだけ紹介すると

まず緑は

リポジトリと作業コピーの内容が一緒ですよ!

という意味です。

赤は

リポジトリと作業コピーの内容が変わってますよ!

という意味です。

このほかに

  • 新しく追加されたよ!
  • 競合しているよ!

などなどあります。

チェックアウトするには?

チェックアウトするには色々と方法がありますが、

もう初心者だったら

「TortoiseSVNというソフトウェアをインストールする」

という1択しかないでしょう。

明らかに使いやすいし、インストールも簡単です。

あくまで、これはクライアント側(チェックアウトする側)のソフトウエアで

リポジトリのあるサーバー側はSubversionがインストールされています。

最後に

色々言いましたが、

ぶっちゃけ使っていけば、大したことないので最初は

共有のサーバーから対象のファイルをダウンロードすることなんだなぁ~

と思っておけばいいと思います。

逆に言えば、使わないと覚えられない。

とも言えます。

参考書籍

Subversion入門 (佐藤竜一(著))

関連記事