项目管理中的版本控制问题

通常软件开发由多人协作开发,如果对代码文件、文档等没有进行版本控制,将会出现很多问题:

  • 备份多个版本,占用磁盘空间大
  • 解决代码冲突困难
  • 容易引发BUG
  • 难于恢复至以前正确版本
  • 无法进行权限控制
  • 项目版本发布困难

什么是版本控制

版本控制(Revision control)是维护工程蓝图的标准做法,能追踪工程蓝图从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅竺定版本修订情况的系统。

svn是什么

svn(Subversion)是近年来崛起的版本管理工具,在当前的开源项目里(J2EE)。几乎95%以上的项目都用到了SVN。Subversion项目的初衷是为了替当年开源社区最为流行的版本控制软件cvs,在cvs功能的基础上有很多的提升,同时也能较好的解决cvs系统的一些不足.

svn的使用方法

svn是基于客户/服务器模式:

  • 复制-修改-合并方案(Subversion默认的模式):
    在这种模型里,每一个客户读取项目配置库建立一个私有工作副本--版本库中文件和目录的本地映射。用户并行工作,修改各自的工作副本,最终,各个私有的复制合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。
  • 锁定-修改-解锁方案 在这样的模型里,在一个时间段里配置库的一个文件只允许被一个人修改。此模式不适合软件开发这种工作。

svn服务器的工作方式

独立服务器方式:

    svnserver

借助Apache方式:

    mod_dav_svn

svn版本数据存储方式:

    BDB(Berkeley DB) -----数据库方式

    FSFS-----文件方式

声明:本内容均来自于黑马学习资料。

最新文章

  1. hierarchyid
  2. linux 后台运行进程 fg bg ctrl+z nohup
  3. 移动web调式利器---Rosin研究
  4. phpcms的增删改查操作整理
  5. Spark RDD/Core 编程 API入门系列 之rdd案例(map、filter、flatMap、groupByKey、reduceByKey、join、cogroupy等)(四)
  6. lamp环境中的/到底是指的网站根目录还是linux的根
  7. hibernate之增删改查demo
  8. Windows Phone开发(43):推送通知第一集——Toast推送
  9. C#获取网页内容 (WebClient、WebBrowser和HttpWebRequest/HttpWebResponse)
  10. lucene特殊字符处理
  11. Delphi流的操作
  12. Android与js互相调用
  13. python之各种装饰器的使用
  14. table 如何不越过父级div
  15. Control算法相关
  16. Qt5.10.1 在windows下vs2017静态编译
  17. Eclipse/MyEclipse向HDFS中如创建文件夹等操作报错permission denied解决办法
  18. 《JavaScript》高级程序设计第7章 函数表达式
  19. 《剑指offer》— JavaScript(23)二叉搜索树的后序遍历序列
  20. 电子商务(电销)平台中系统设置模块(SysSetting)数据库设计明细

热门文章

  1. img的事件
  2. 实现Java程序跨平台运行十二个注意事项
  3. fopen\fread\fwrite\fseed函数的使用
  4. Linux总线设备驱动模型
  5. PIE SDK均值滤波
  6. iView 初识
  7. while循环案例
  8. Java中forEach, 用来遍历数组
  9. GoLang爬取花瓣网美女图片
  10. mongodb常用语句(集合操作)