svn バージョン管理システムの概要

muroiです。今日はsvn(Subversion)について学習しました。
svnとは、プログラムのソースコードなどを管理するバージョン管理システムの一つです。

svnを使う理由として、

  • 複数人で同じソースコードを同時に修正・変更しても支障がない。
  • 変更の明示的な記録が保存される。

といったメリットがあります。

バージョン管理システムの根幹
diffとpatchというコマンドがあります。

diff

diff=(difference)は、「違い・差分」という意味で、ファイル動詞の違いを調べる事ができます。

patch

patchは差分の書かれたファイルで、patchコマンドで差分を適用する事ができます。

-	カレー
+	ハンバーグ

patchファイルは、ーの行を+に変えろというような指示書みたいなもの。
例:

patch < some.patch

こういったファイルを「バージョン管理システム」はまとめて管理してくれます。


管理と目標としてSubversionの簡単な流れと実習を少しやりました。

リポジトリ(Repository)

リポジトリとは、ファイルの貯蔵庫というものであり、プログラム等を集めておく場所であります。
Subversion等の「バージョン管理システム」も、ここからプログラムをコピーして作業を行います。作業が終わるとここにコミットしてデータをアップデートしていきます。

リビジョン番号(The revision numbers)

このリビジョン番号を利用する事により、変更履歴を特定しやすくできます。1〜n番といった重複しない番号を割り当てる事ができるからです。


また、今日は実際に少しだけ実習を行いました。
まずはリポジトリからコピーしてきます。

svn checkout リポジトリURLの指定 ディレクトリの指定

このように記述する事によりリポジトリからコピーを取得する事ができます。コピーしてきたデータを少し編集したら今度はコミットです。
と、その前に確認ということで

svn status

このコマンドで状態を確認する事ができます。
これで変更した行を確認できました。(左にMとついている)

M	カレーライス

確認ができたら次は以下のコマンド

svn commit

これでコミットをする事ができます。
今回は環境変数設定の問題上うまくコミットできなかったのですが、次回にまた詳しく教えて頂けるそうなのでしっかり覚えなければです。
このSubversionの使い方も覚える事ができれば、一日前の編集状態に戻したくなったりとか、間違って保存してしまったものを修正するのに非常に便利になりそうです!
忘れずしっかり覚えていこうと思います!

—-
(2008/06/10 18:42 hirafuji追記)
動画をご覧下さい!

3 件のコメント so far »

  1. by hasumi, on 06.10.08 @ 10:55 AM

     

    subversionはややこしいですよね。僕も始めはややこしさに戸惑いました。
    subversionの根幹がdiffとpatchにあったんですね。知りませんでした。こういうコンピュータの歴史とかって結構おもしろいですよね。

  2. by muroi, on 06.13.08 @ 9:56 AM

     

    >hasumiさん、コメントありがとうございます。
    subversionややこしいですね、まだまだ分からない所だらけなので頑張ります!

  3. by スタートアップ研修記 » svn 他人とファイルを共有, on 06.20.08 @ 6:38 PM

     

    [...] ichikawaです。サブバージョンについて書きます。 前回の授業でできなかった、commitを使ってファイルの中身を変更したり、皆で共有してみました。 [...]

Comment RSS · TrackBack URI

コメントをどうぞ

名前: (Required)

eMail: (Required)

Website:

Comment:

Spam Protection by WP-SpamFree