Subversion リポジトリの作成から各操作のまとめ

Subversionで使用する各コマンドについて

概要

Subversionはソースを管理するための便利な管理システムです。
オープンソースとなっており、無料で使用できます。
当記事では、Subversionで使用する代表的なコマンドを紹介します。

リポジトリの作成

ディレクトリを作成して、svnadmin createを実行するだけでリポジトリを作成できます。


$ makedir /home/user/svn/sample
$ svnadmin create /home/user/svn/sample
$ svn mkdir file:///home/user/svn/sample/trunk file:///home/user/svn/sample/tags file:///home/user/svn/sample/branches -m 'Create trunk,tags, and branches.'

既存のプログラム(project)をimportする場合は以下のようにします。


$ svn import project file:///home/user/svn/sample/trunk -m 'import sample'

checkout チェックアウト

checkoutを実行して、リポジトリのプログラムを取り込みます。
以下では、trunk内のプログラムをsystemディレクトリ内にcheckoutしています。


$ svn checkout file:///home/user/svn/sample/trunk/ system

このようにして、開発環境ができあがります。

svn st 変更ファイルのチェック

svn stコマンドを入力することで、変更したファイルの一覧を表示することができます。
基本的に、新規追加ファイルは[A]、変更ファイルは[M]、削除ファイルは[D]と表示されます。

ファイルを追加する場合は、svn add [ファイルのパス]で追加します。
ファイルを削除する場合は、svn del [ファイルのパス]で削除を行います。

そして以下のようにsvn stコマンドで確認を行います。


$ svn st

svn diff 差分チェック

リポジトリと開発環境の差分を表示します。
ファイル内の変更点が全て表示されるため、どこを変更したのか確認することができます。


$ svn diff

svn revert 変更の取り消し

svn revertを使用することで、変更したファイルを元の状態に戻すことができます。
元の状態とは、リポジトリに登録されている状態です。


$ svn revert [ファイルのパス]

svn commit コミット(変更箇所をリポジトリに反映)

変更箇所をリポジトリに反映します。


$ svn ci -m "add images"

-m でメッセージを簡単に入力します。

svn update 最新状態をリポジトリから取得

現在の開発環境を最新状態にします。
最新状態とはリポジトリに登録されているファイルのことです。
つまり、リポジトリの内容を開発環境へ反映します。


$ svn update

svn switch リポジトリの切り替え

svn switchを使用することでリポジトリを切り替えることができます。
以下の例では、使用するリポジトリをsample2/trunk/に切り替えています。


$ svn switch file:///home/user/svn/sample2/trunk/

svn info リポジトリ情報の表示

svn infoでは、リポジトリのURL、リビジョンなどの各情報を表示します。


$ svn info

svn log コミットログの表示

コミットの履歴を表示します。
リビジョン、日時、メッセージなどが表示されます。


$ svn log

svn cp コピー

リポジトリなどのコピーを行います。
以下では、trunkの内容をtags/release-20130722にコピーしています。


$ svn cp file:///home/user/svn/sample/trunk file:///home/user/svn/sample/tags/release-20130722

svn export エクスポート

リポジトリなどのファイルをエクスポートします。
以下では、tags/release-20130722内のファイルをsystemディレクトリ内にエクスポートしています。


$ svn export file:///home/user/svn/sample/tags/release-20130722/ system/

svn delete 削除

リポジトリなどの削除を行います。
以下では、release-20130722のディレクトリを削除しています。


$ svn delete file:///home/user/svn/sample/tags/release-20130722

svn merge マージ処理

指定したリポジトリの内容とマージ処理を行います。
svn mergeでを実行したあと、競合の解決、その他のチェックを行った後にコミットします。


$ svn merge file:///home/user/svn/sample/tags/release-20130722
  • このエントリーをはてなブックマークに追加
Related

FullCalendarでGoogleカレンダーのようなUIを実装

jQueryプラグインFullCalendarのサンプル 概要 FullCalendarを使用して、GoogleカレンダーのようなUIを実装する使用例を...

PHP Laravel5.2でmulti-auth(複数テーブルでの認証)を実装

Laravel5.2でマルチ認証 概要 LaravelとはPHPの中で今最も伸びているフレームワークです。 処理速度が遅いなどありますが、かなり使い安く拡...

PHP 正規表現でIPアドレス形式の文字列か判定

正規表現でIPアドレスの入力チェック 概要 フォームで入力されたIPアドレスが正当な文字列か判定するためのバリデーション処理を実装します。 基本的...

rbenv環境でRuby on Railsのアプリケーションを一瞬で自動生成

アプリケーション構築時に最初に行う手順 概要 アプリケーションを作成するまでの手順を記載しています。 rbenvなどの環境が設定済と仮定して話を進めま...

Rails devise・authority・rolifyで権限付きの認証機能

devise・authority・rolify 概要 3つのGemを使用して、権限付き認証機能を実装します。 gem インストール Gemfile ...

Rails devise で複数モデルの認証機能を実装

Rails devise で複数モデルを管理 概要 rails のログイン認証 Gem「devise」のインストール・設定方法を紹介します。 よく「d...
トップへ戻る