SVN初识

1、教程  

  Apache Subversion缩写SVN,是一个开放源代码的版本控制系统,相对于RCS、CVS,采用了分支管理系统

  SVN 官网:https://subversion.apache.org/

  Github SVN 源码:https://github.com/apache/subversion

  管理着随时间改变的数据,这些数据放在中央资料档案库(repository)中,次档案库像一个普通的文件服务器,会记住每一次文件的变动,这样可以把档案恢复到旧的版本,或浏览文件的变动历史

2、概念

  repository(源代码库):源代码统一存放的地方

  Checkout(提取):当手上没有源代码的时候,需要从repository checkout一份

  Commit(提交):当修改代码,需要Commit到repository

  Update(更新):当已经Checkout一份源码,Update一下就可以 和Repositiry上源代码同步,自己手上的代码就会有最新的变更

日常工作流程:Checkout--->工作好几天--->Update---->修改自己代码并调试成功---->Commit(大家就都能够看到修改)

3、冲突

  若两程序员同时修改同一个文件,SVN可以合并两程序员的改动,实际上SVN管理源代码是以行为单位的,只要不是修改同一行程序,SVN都会自动合并两种修改,如果是同一行,SVN会提示冲突Conflict,需要手动确认

4、功能

  目录版本控制

    “虚拟”的版本控管文件系统,能够依据时间跟踪整个目录的变动。目录和文件都能进行版本控制

  真实的版本历史

    add、delete、copy、rename,无论是文件还是目录,所有新加的文件都从一个新的、干净的版本开始

  自动提交

  纳入版本控管的元数据

    每一个文件与目录都附有一组属性关键字并和属性值相关联,可以创建、存储任何想要的Key\Value对/属性是随着时间来做版本控管的,就像文件内容一样

  选择不同的网络层

  一致的数据处理方式

    使用二进制差异算法表示文件的差异,对文字和二进制文件两类的文件都一视同仁。这两类的文件都同样的以压缩形式存储在档案库中,而且文件差异是以2个方式在网络上传输的

  有效的分支与标签

  便于维护,并且可被其他应用程序与程序语言使用

posted on 2019-11-29 10:29  sharryxx  阅读(94)  评论(0编辑  收藏  举报

导航