Subversion覚書
今現在のチームは誰もGitを使えず、バージョン管理はSubversionなのだ。ナンテコッタ!
(「コンパイルエラーが出ているコードはコミットしないでくださいね(ニッコリ)」)
とりあえず従うけど、密かにGitも使ってやるもんねー!GitからSVN使えるらしいし。
(ちなみにここ最近の記事で分かってもらえるが、EclipseやJavaやSeasar2を、強いられているんだ。
GUI環境を、強いられているんだ!)
SVNを操作するエクスプローラ拡張を入れる
TortoiseSVNをインストールする(SVNを操作できるようになるエクスプローラ拡張)
→日本語メニューにする
PuTTY ごった煮版をDLし、puttygen.exeから
SVNの鍵を読み込ませて、「秘密鍵の保存」でppkファイルとして保存
tortoiseSVNの設定>ネットワーク からSSHのSSHクライアントを設定する
"C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe(TortoriseSVNのパス)" -l svnuser -i C:\key\secret.ppk(今作った鍵) -pw XXXX(自分のパスフレーズ)
用語の違い
| SVN | Git | |
|---|---|---|
| リポジトリの最新リビジョン | HEAD | - |
| 今checkoutしているリビジョン | BASE | HEAD |
| ファイル/ディレクトリが最後に更新されたリビジョン*1 | COMMITTED | |
| COMMITTEDの1つ手前 | PREV |
コマンド
| コマンド | 効果 | Gitでいうと |
|---|---|---|
| svn checkout {url} | サーバ側リポジトリから作業コピーを作る/カレントバージョン切替 | git clone/git checkout |
| svn update | サーバ側から変更を作業コピーに適用 | git fetch→merge(git pull) |
| svn commit | 変更をサーバ側に適用 | git push |
| svn status | 現在の状況をみる | git status |
| svn log | 履歴を見る | git log |
| svn add {file/dir} | {file/dir}を管理に加える(予告) | git add |
| svn revert {file/notice} | {file}を拾ってきた時点の状態にまで戻す {notise}予告を取り消す | |
| svn delete {file/dir} | {file/dir}を削除する 次回コミットで確定される | git rm |
| svn move {f/d-A} {f/d-B} | {f/d-A}を{f/d-B}にムーブ | git mv |
| svn copy {f/d-A} {f/d-B} | {f/d-A}を{f/d-B}としてコピー ブランチやタグを作成 |