SVN バージョン管理
SVN とは?
SVN (Subversion) はバージョン管理ツールであり、プログラムファイルをバージョンごとに管理できる。
checkout (co)
リポジトリからローカル作業領域へソースを取得する。
使い方
svn checkout [SVNURL] [チェックアウト対象]
例
$ svn checkout https://desktop-8kkel5e/svn/kimkc/
Checked out revision 0.
add
SVN で管理するファイルやディレクトリを追加する。追加後は commit を実行しないとリポジトリに反映されない。
使い方
svn add [追加するファイル名]
例
$ svn add Test.java
A Test.java
$ svn commit
adding Test.java
commit (ci)
ローカルで変更した内容をリポジトリへ適用する。
使い方
svn commit [コミットするファイル名] -m [ログに残すメッセージ]
例
$ svn commit Test.java -m "test"
Adding Test.java
Transmitting file data .done
Committing transaction...
Committed revision 1.
update (up)
リポジトリの最新内容でローカルソースを更新する。
使い方
svn update
例
$ svn update
Updating '.':
At revision 3.
delete(del, remove, rm)
SVN で管理しているファイルやディレクトリを削除する。削除後は commit を実行しないとリポジトリに反映されない。
使い方
$ svn delete [SVN 管理一覧から削除するファイル名]
例
$ svn delete text.txt
D text.txt
$ svn commit
Deleting test2.c
SVN の変更ファイル状態を確認する
使い方
svn status
repository url を確認する
使い方
$ svn info
Path: .
Working Copy Root Path: D:\svn-file-test\kimkc
URL: https://desktop-8kkel5e/svn/kimkc
Relative URL: ^/
Repository Root: https://desktop-8kkel5e/svn/kimkc
Repository UUID: 08d25a28-c52d-f14b-9aa0-5c24a007a8d5
Revision: 0
Node Kind: directory
Schedule: normal
Last Changed Rev: 0
Last Changed Date: 2019-07-30 09:50:14 +0900 (화, 30 7 2019)
log
Repository 内のファイル変更履歴を参照する。
使い方
$ svn log [PATH]
より詳しく見る場合:
$ svn log -v
$ svn log
------------------------------------------------------------------------
r3 | kimkc | 2019-07-30 13:52:22 +0900 (화, 30 7 2019) | 1 line
test3
------------------------------------------------------------------------
r2 | kimkc | 2019-07-30 11:14:30 +0900 (화, 30 7 2019) | 1 line
test2
------------------------------------------------------------------------
r1 | kimkc | 2019-07-30 10:00:24 +0900 (화, 30 7 2019) | 1 line
test
------------------------------------------------------------------------
$ svn log -r 30:100 test.c
リビジョン番号 30 から 100 の範囲で test.c のログを出力する。
blame
各行を誰が修正したかを確認する。
例
$ svn blame sample.c
export
リポジトリから元のファイルだけを取得する。
使い方
svn export [SVNURL] [保存先]
例
$ svn export http://svn.bds.fbwotjq.com/www/manager/trunk/ docs_manager
特定リビジョンのソースだけを export する
export はバージョン管理用の付属ファイルを除外し、純粋なソースだけを取得するため、主に source release 用途で使われる。-r オプションを指定すると、特定リビジョンのソースを取得できる。
使い方
svn export [SVNURL] [保存フォルダ] -r [リビジョン番号]
例
svn export https://desktop-8kkel5e/svn/www/manager/trunk/ docs_manager -r 186
import
使い方
svn import [アップロード対象] [SVNURL] -m [ログに残すメッセージ]
例
$ svn import docs_js https://desktop-8kkel5e/svn/www/manager/trunk/ -m "svn import test"
info
現在接続されている SVN ファイルリポジトリの情報を参照する。
$ svn info
例
$ svn info
Working Copy Root path : /home/
URL : http://192.168.0.1/project
Relative URL : ...
update
現在のファイルリポジトリに保存されている最新の変更内容を取得する。
使い方
svn update
例
$ svn update
Updation '. :
At revision 1111.
diff
変更されたファイル内容を比較する。
使い方
svn diff --revision [上の log で確認した r 数字の数字部分] [比較するファイル名]
例
$ svn diff --revision 1111 test.c
===================================
--- //test log
+++//new log
....
relocate
リポジトリ URL が変更されたとき、ローカル側で URL を変更する。
使い方
SVN 1.6 以下
svn switch --relocate {以前の URL} {変更後の URL}
SVN 1.6 以上
svn relocate {変更後の URL}
$ svn relocate https://svn.devkuma.com/svn/kimkc
SVN の現在バージョンを確認する
$ svn --version