1.检出、更新、提交
svn chectout http://svn_server/xxx_repository/trunk
svn update
svn commit -m "XXX"
2.切换
svn switch http://svn_server/xxx_repository/branch_1231
3.导出
svn export http://svn_server/xxx_repository/branch_1231 (不带.svn 信息)
4.设置目录更新方式
svn up --set-depth empty
svn up --set-depth infinity subsvnurl
svn up --set-depth=exclude subsvnurl
5.创建branch
svn copy http://svn_server/xxx_repository/trunk http://svn_server/xxx_repository/tags/release-1.0 -m "1.0 released"
svn cp -m "create branch" http://svn_server/xxx_repository/trunk http://svn_server/xxx_repository/branches/br_1231
6.合并分支
svn co http://svn_server/xxx_repository/branches/br_1231
cd br_1231
svn merge http://svn_server/xxx_repository/trunk
svn mergeinfo http://svn_server/xxx_repository/trunk --show-revs eligible 预览刷新 或使用选项 svn merge --dry-run 以获取更为详尽的信息。
7.分支合并到主干
cd trunk
svn merge --reintegrate http://svn_server/xxx_repository/branches/br_feature001
分支合并到主干中完成后应当删该分支,因为在SVN中该分支已经不能进行刷新也不能合并到主干。
合并版本并将合并后的结果应用到现有的分支上
svn -r 148:149 merge http://svn_server/xxx_repository/trunk
8. 打tags标记 稳定版本版本
svn copy -m " " http://svn_server/xxx_repository/trunk http://svn_server/xxx_repository/tags/release-1.0 -m "1.0 released"
9.删除branch或tags
svn rm http://svn_server/xxx_repository/branches/br_1231
svn rm http://svn_server/xxx_repository/tags/tag_1.0.0
10.tag branch 区别
cvs branch 和 tag 区分比较明确,只是一个cvs 版本标记别名而已,所以并不能像分支一样能够修改提交。
svn都是使用copy实现的,所以他们在默认的权限上和一般的目录没有区别。
只是命名上沿用cvs上的命名方式,branch 用于不用的版本开发,tag用于发布、测试。
11. 当svn 服务器地址迁移时需要重新定位
svn switch --relocate (Old Repository Root) (New Repository Root)
Old Repository Root可以通过:svn info来查看.
svn update就可以正常的更新你的系统
12. revert 放弃修改 文件、目录
svn revert file
svn revert --depth=infinity .