Subversionのメモ
世間では、すっかりGitで、自分もそろそろこっちをつかってみたい。とりあえず、本とか入門記事を読んでいるところ。
なんだけど、その前に、いまさらだけど、Subversionのメモを残しておこう。記念に?!
日々の作業
- trunkをつくる
- trunkからbranchをつくる
- branchは、日々、複数、並行して、作成、利用されている
- branchは、ひととおりの作業が終わると、日々、trunkへマージされる
- trunkへ、あるbranchがマージされたら、別のブランチは、trunkからこのマージされた分を、自分自身にマージする必要がある。
- そうしないと、どんどん差分ができて、そのbranchをtrunkへマージするとき、おそららくたくさんの差分やら競合が発生する。
- branchからtrunkへマージできないのは、これをすっかり忘れているか、あるいはしくじっていることが多いと思う。
- リリース時にはtagをつくる。
Subversionのクライアント
設定ファイル
svnコマンド
TortoiseSVNとかEclipseのほうが楽だよ。ホント。
- svn help
- svnはサブコマンドがたくさんある。まあ、これが、はじめはよくわからないんだが。
- svn copy
- branchをつくる
- tagをつくる
- リリース時によく使う
- svn checkout
- svn update
- svn add
- ファイルつくっても、addしておかないと、commitできない
- svn delete
- svn revert
- svn log
- svn merge
- http://www.caldron.jp/~nabetaro/svn/svnbook-1.4-final/svn.ref.svn.c.merge.html
- mergeはローカルにcheckoutしたものに対しておこなうのが普通だとおもう。
- merge後あらためてcommitする。
- あるbranckからturnkへマージされた後、trunkから別のbranchへマージという場合の利用が多いか。
- svn merge --integrate trunkへマージしたいbranchのurl ローカルにchekcoutしたtrunkのパス
- これは、特に、branchからtrunkへマージするときの便利オプション。branchからtrunkへマージは、別に、--integrateでなくても良い。
- このコマンドでtrunkへマージできるのは1回限り。1度マージしたらもうこのbranchは利用しないほうが良いらしい。
- trunkをcheckoutして、ローカルでmergeする
- merge後、ローカルのtrunkからサーバのtrunkへcommit
- http://www.asahi-net.or.jp/~iu9m-tcym/svndoc/svn_merge_reintegrate.html
- svn export url exportされるディレクトリ
- checkoutと異なり、中身を取り出すだけ。commitやupdateなどはできない。
- exportされるディレクトリは、コマンド実行時に作成される。逆に、事前に作成してあると、エラーになる。
- リリース時によく使う
- リリースタグをexport