*バージョン管理 [#dff003a7]
#contents
#br

*はじめに [#ee8af286]
バージョン管理ってのは大切です。たとえばプログラムを大幅改造する時にバックアップを取っておかないと、うはwwwwプログラム大幅に変えたら、動かなくなったオワタ\(^o^)/なーんてことになります~
バーギョン管理システムとはそういった時に対応するために行ったり、複数人での開発で使われます。~
設定ファイルや文章管理なーんてことにも使われたりetc...~
ここでは、バージョン管理の必要性とその実践、各種バージョン管理システムの使い方を説明するらしい。

*バージョン管理の仕方 [#m0bf45fe]
バージョン管理の方法として以下のようなものが上げられる。
-バージョン管理をしない~
これは非常に簡単であるが、危険度も高い、だが、限られたリソースを有効利用するときには、最大限力を発揮する方法でもある。

-大幅に改造するときだけバックアップ~
意外と使える技である。特に個人製作において使われることが多い。だが、うまく整理しないと、どれが何だか分からなくなることがあるので注意

-バージョン管理システムを使う~
最初に設定すればあとは楽ちん!複数人での開発にも使えるが、ものによってはリソースを大幅に食うので注意。

*バージョン管理システム [#pfa0a1c7]
バージョン管理システム(version control system)ってのは本当に便利やねー
ってことでいくつか有名なバージョン管理システムについて解説します。

以下に一覧を置いておきます。普及度、速度などは主観によるものなので
戦争にならないように。

|名前          |速度|ディレクトリの移動|普及度|分散型|個人利用|主な使用例|h
|RCS           |    |                  |      |×    |○      ||
|CVS           |×  |×                |◎    |×    |×      |Eclipse, Emacs|
|Subversion    |○  |△                |◎    |×    |×      |Google Code|
|git           |◎  |○                |○    |○    |○      |Linuxカーネル, wine|
|Mercurial     |◎  |○                |○    |○    |○      |Mozilla, OOo|
|Bazaar        |    |○                |×    |○    |        |MySQL|
|LibreSource   |    |○                |×    |      |        ||
|monotone      |    |○                |×    |○    |        |Xaraya|

** [[RCS>./rcs]] [#wa27389e]
黎明期のバージョン管理システムのひとつ。基本的に一度にひとつの
テキストファイルを扱う。内部でdiffを利用している。
Wikiエンジンには名前(Revision Control System)どおり、これを
リビジョン管理のバックエンドに用いているものも多い。

** CVS [#s8617e4b]
RCSをベースに築かれた。サーバー・クライアントなやり方でネットワークを
意識して、さらに複数のファイルをプロジェクトとして扱えるよう作られた。


** SVN(Subversion) [#o3233d9d]
CVSの使い勝手を意識して作られた。ネットワーク越しの利用やファイル管理に関して強化されている。~
WindowsならVisualSVN Serverを使えば簡単にローカルにSVN鯖を建てられる。~
VisualStudioのStandard以上ならAnkhSVNというアドインでソリューションエクスプローラ上からコミットしたりできておすすめ。


**[[git>./git]] [#h94ec675]
編集頻度が非常に高いLinuxカーネルの作成において、サーバー負荷が小さくなるよに作ったシステム。ローカルのみでの利用が可能で、サーバーが無くても利用できるため、個人利用にもつかえる。

** Mercurial [#o5fee1a9]
CVSやSVNのように中央のサーバーを必要としない、いわゆる分散型のバージョン管理システム。~
ほとんどPythonで書かれている(速度を必要とする部分はCが使用されている)が非常に高速に動作する。~

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS