Carpe Diem

  Top > スポンサー広告> Subversion > Subversion  

スポンサーサイト

-- - --/-- [--] - --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Subversion

2011 - 05/31 [Tue] - 13:29

Subversionの各コマンドです。

ソフトウェア開発でよく利用されてますが、ファイル管理としてはありだと思うのでWebDAVのファイル管理に利用できたらなぁと少し考え中。

◆commitの仕方
$ svn commit -m "comment" ./ ←カレントディレクトリ"."をコミット
$ svn commit -m "comment" hoge.c ←ファイルコミット

◆checkoutの仕方
$ svn co file:///home/username/svn/trunk/test ←test/以下をカレントに取得
$ svn co svn+ssh://username@○○○.dyndns.org/home/username/svn/trunk/ ←sshしたいときはこっち
o ://@/ の形式
SVN_SSH="ssh -l username" svn co -N svn+ssh://○○○.dyndns.org/home/username/svn/trunk ←環境変数SVN_SSHでuserを指定できる.

◆削除の仕方
$ svn delete hoge.c ←svn remove, svn rm, svn delなども可
$ svn commit -m "delete hoge.c" hoge.c
$ svn delete -m "delete hoge.c" file:///home/username/svn/trunk/test/hoge.c ←いきなりレポジトリのファイルを削除する(delの後にsvn upが必要)

◆追加の仕方
$ svn add hoge.c ←ファイルを追加
$ svn add hoge-dir ←ディレクトリ以下を追加
$ svn add --non-recursive hoge-dir ←ディレクトリをaddして,中身はaddしない
$ svn add * ←現在追加していないものをディレクトリごと追加

◆diffを見る
$ svn diff ←ローカルの編集分を表示する
$ svn diff -r 1023:1024 hoge.c ←リビジョン間のdiffを表示
$ svn diff -r HEAD ←コミットされている最新のものと,ローカルの差分を見る.

◆編集の履歴を見る
$ svn log text1.txt

◆ローカルのファイルの状態を知りたい
$ svn status ←編集があるファイルには,C/Mなどが表示される
$ svn status -u ←レポジトリで最新になっている(ローカルが古くなっている)ファイルがあると,*で表示する
$ svn status -v ←ローカルのファイルを,リビジョン付きで表示

◆updateしないで,中身を見る
$ svn cat ファイル名

◆commitされているファイルの一覧を取得する
$ svn list ←カレントディレクトリにあるファイル一覧
$ svn list svn+ssh://username@○○○.dyndns.org/home/username/svn/trunk ←prog直下

◆commitした人を行ごとにチェックする
$ svn blame ファイル名
$ svn annotate ファイル名 ←annでもOK

◆コマンドのヘルプ
$ svn サブコマンド --help ←サブコマンドにupやcommitなど見たいのを入れる

◆リビジョンの使い方
$ svn log -r 1729 ←1729年ではなく,リビジョン番号
$ svn log -r 1729:HEAD ←コロンで,両者の間を表示する
$ svn log -r 1729:1744
$ svn log -r {2001-12-04}:{2002-02-17}
$ svn log -r 1729:{2002-02-17}

◆自分の編集を消して,元の最新版のファイルに戻す
$ svn revert hoge.c

◆間違ったコミットを戻す方法
$ svn diff -r HEAD:999 ←r999まで戻す場合のdiff確認(HEADは現在のリビジョンを指す記号)
$ svn merge -r HEAD:999 . ←r999まで戻す
$ svn commit -m "back to r999" ←変更をコミット

◆手元のファイルをあるリビジョン番号へもどしたい
$ svn update -r 番号
$ svn merge -r HEAD:番号

◆Conflictした場合の対処方法
手で直してから「svn resolved ファイル名」を実行する.→そのファイルのcommitが許可される

◆ファイルをコピーしてコミットする
$ svn copy hoge.c file:///home/username/svn/trunk/test/hoge.c -m "copy from hoge" ←commitを同時にする場合.
$ svn copy file:///home/username/svn/trunk/test/hoge.c fuga.c ←hoge.cを取ってきてfuga.cにrenameする.fuga.cのcommitはまだしていない.

◆リポジトリの確認
$ svn info

◆リポジトリの変更
$ svn switch --relocate svn+ssh://user1@○○○.dyndns.org/ https://○○○.co.jp/svn

◆ファイルに実行権限を出す
$ svn propset svn:executable ON hoge.sh
$ svn commit -m "" hoge.sh

◆自分専用のリポジトリを作りたい
$ svnadmin create /home/username/user/foldername/ --fs-type fsfs

◆レポジトリの中身を直接見る
$ svnlook tree /home/username/svn/trunk/test

コメントの投稿





管理者にだけ表示を許可する

 | ホーム | 

プロフィール

Cicatrice

Author:Cicatrice
備忘録

検索フォーム

カテゴリ

最新記事

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。