svn update原理

svn update是这样计算的

  1. 当你的文件处于最新版本,且文件内的修改 新于 版本时间,那么update将无效(没有任何效果)
  2. 当你的文件处于非最新版本,且有修改内容 与 版本库不冲突(或者svn可以解决的冲突)update能够正常使用,而且保留你的修改内容,并使得版本库的修改也更新进来。回到 1 状态
  3. 当你的文件处于非最新版本,且冲突无法解决,svn返回 C 也就是冲突状态,那么你就默默解决冲突吧

Git 和svn对比

  • git版本库占用空间小;
  • git是分布式管理系统,完全可以不对代码进行备份;
  • git不用时时联网查询;
  • 如果客户端离服务器端非常远,在网速糟糕的情况下,用svn下载代码速度远不上git。
  1. git版本库占用空间小,SVN每个分支都是一份代码的copy,而git每个分支只是各个提交点的hash值的集合。分支几乎不占用什么空间。
  2. git是分布式管理系统,完全可以不对代码进行备份,但SVN不行,一旦服务器的硬盘挂掉整个代码库就完了。
  3. git不用时时联网查询,并且对文件进行压缩,使得文件体积大大减小,并且传输速度快,svn是单个文件,git是压缩后的,在使用svn时我已经碰到过好几次服务器无响应了。由于git很多都可以在本地操作的,所以大大降低了客户端对服务器的连接,出现这种情况的概率会大大减小。