svnの情報表示
svn info
ディレクトリ指定
svn info {dir}
ステータス表示
svn st
ディレクトリ指定
svn st
記号 | 意味 |
---|---|
' ' | 変更なし |
A | 追加されたファイル |
D | 削除されたファイル |
M | 修正されたファイル |
C | 競合しているファイル |
I | 無視されているファイル |
? | 管理下にないファイル |
! | 失われたファイル |
+ | コミット準備完了のファイル |
チェックアウト
svn co {url}
ディレクトリ指定
svn co {url} {dir}
ログ
svn log
ファイル、ディレクトリ指定
svn log {url/dir,file}
リビジョン指定
// r999から最新まで
svn log -r 999:HEAD
最新10件表示
svn log -l 10
変更のあったファイルも表示する
svn log -v
差分も表示する
svn log --diff
差分
svn diff
リビジョン間の差分
svn diff -r r999:r1000
特定パスのリビジョン間の差分
svn diff -r r999:r1000 {dir/file}
差分のファイル名表示
svn diff --summarize -r r999:r1000
改行コードを無視
svn diff -x --ignore-eol-style {file}
ファイル一覧表示
svn ls
詳細に表示
svn ls -v
ディレクトリ指定
svn ls {dir}
ファイルの登録
svn add {dir,file}
取り消し
svn revert {dir,file}
ファイルの削除
svn del {dir,file}
更新を取り込む
svn up
ディレクトリ指定
svn up {dir}
コミット
※ アップデートしないと、ログに反映されない
svn ci && svn up
メッセージを指定
svn ci -m 'message' && svn up
編集の取り消し
svn revert {file}
ブランチの作成
svn copy {url}/branches/hoge -m 'message'
タグを切る
svn tag {url}/tags/hoge -m 'message'
作業ディレクトリの切り替え
svn sw {url}/branches/hoge
マージ
現在の作業ディレクトリがtrunk
ブランチをtrunkにマージする場合
svn merge -r 999:HEAD {url}/branches/hoge
svn ci -m 'merge message'
merge内容を確認
実際にmergeは行われず、mergeした場合の内容が表示される
基本的には--dry-run
を走らせてから、mergeを行う
svn merge --dry-run {url}
特定ファイルを特定リビジョンに戻す
svn merge -r[現在のリビジョン]:[戻したいリビジョン] {file_path}
merge時のコマンド
コマンド | 内容 |
---|---|
(p) postpone | 競合を後で解決 |
(df) diff-full | マージしたファイルに加えたすべての変更を表示 |
(e) edit | マージされたファイルをエディターで解決する |
(mc) mine-conflict | 作業側の内容を正として競合を解決する (branchからtrunkをmergeした場合はbranch側を正) |
(tc) theirs-conflict | 相手側を正として競合を解決する (branchからtrunkをmergeした場合はtrunk側を正) |
(r) resolved | 競合の解決 |
競合の解決
svn merge
時にpostpone(競合を後で解決)をし、後で解決した場合以下のコマンドで競合を解決できる
svn resolved {file}
zsh設定
個人的なzshの設定
# for svn
alias svn="colorsvn"
alias sst='svn st'
alias sad='svn add'
alias sup='svn up'
alias sci='svn ci'
alias sco='svn co'
alias sin='svn info'
alias sme='svn merge'
alias sre='svn revert'
alias sdl='svn del'
# svn log limit
sl(){
svn log -l $1 -v
}
# svn diff
sdi(){
svn diff -x --ignore-eol-style $1 | vim -R -
}
その他のコマンド
使う時があったら更新していく予定。。
blame (praise, annotate, ann)
cat
changelist (cl)
cleanup
export
import
lock
mergeinfo
mkdir
move (mv, rename, ren)
patch
propdel (pdel, pd)
propedit (pedit, pe)
propget (pget, pg)
proplist (plist, pl)
propset (pset, ps)
relocate
resolve
unlock
upgrade