MacOS下的Versions体验是不错的,59刀的价格;不过,,常闪退啊。
据说Windows下的小乌龟很好用,没怎么用过,感觉它属于功能强大,UI不美的纯技术作品。
其实,我个人觉得命令行才是最灵活并且天地通用的 - -#
毕竟掌握命令行之后,在Windows下不懂用乌龟也不会尴尬了。
对比工程/文件差异需要直观,在MacOS下可以用系统自带的 FileMerge,没有Versions的情况下,用它配合命令行基本也够用了。

新建一个项目
1 2 3 4 5 6 7 8
   | # 此为svn仓库目录 cd /var/svn
  # 新建名为proj的项目 svnadmin create proj
  # 使外网用户可读写 chown -R apache.apache proj
   | 
 
常用的基本操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
   |  svn co SVN_URL
 
  svn add FILE
 
  svn ci -m "LOG MESSAGE"
 
  svn up [-r m SVN_URL]
 
  svn st svn st -v
 
  svn delete FILE
 
  svn info
 
  svn diff [-r m:n] svn diff -r head
 
  svn merge -r m:n SOURCE_URL
 
  svn switch TARGET_URL
 
  svn log [-r m:n] svn log -v
 
  svn cleanup
 
  svn revert FILE svn revert -R .
 
  | 
 
其他一些操作
1 2 3 4 5 6 7 8 9 10 11 12 13 14
   | # 可导入未版本化的工程 svn import proj TARGET_URL/proj/trunk -m "import proj"
  # 显示文件、目录列表 svn list TARGET_URL
  # 复制 svn cp SOURCE_URL TARGET_URL
  # 移动/重命名 svn mv SOURCE_URL TARGET_URL
  # 删除 svn rm TARGET_URL
   | 
 
一些情景
已经提交的版本需要回滚
1 2 3 4 5 6 7
   | # 假设当前最新版本为30,希望滚回20。 # 先必须保证当前这份代码是最新并且无修改 # 原理其实就是把当前和目标版本的差异做一次merge,然后再提交 svn merge -r 30:20 SVN_URL
  # 核对与版本20的差异,确认无误即可提交 svn diff -r 20
   | 
 
忽略多个文件/目录
1 2 3
   | svn propset svn:ignore "FIRST SECOND THIRD" .
   | 
 
参考链接:http://blog.csdn.net/ithomer/article/details/6187464