版本控制相关研究一:版本控制需求的出现

来源:互联网 发布:ubuntu tftp 不能启动 编辑:程序博客网 时间:2024/05/17 23:45

一、什么是版本控制系统

    版本控制系统(Version Control System),就是能够让你能追踪到以前编辑过的文件并辅助记录文件每次的更新细节。

二、为什么要使用VCS

在个人日常工作中,尤其是开发工作,需要不断的修改项目中的文件,并将调试好的项目发布到服务器,在每次新的项目发布时就会覆盖服务器上旧的项目。为了能找到以前每次发布的项目,我们通常手工备份每次发布的项目包并用时间节点为项目包命名这种简单粗暴的方式来操作,但久而久之,这种备份方式不仅大量的消耗服务器存储空间,而且非常不利于开发人员区分以往的每次备份之间的区别。

在团队工作中,非常普遍的现象就是很多人会同时修改同一个项目,各自修改完不同的文件之后如何将工作合并在一起并完成调试等工作是需要花费团队人员很多时间的,特别是两个人同时修改了同一个文件,需要整合两个文件时,工作量及复杂度是难以估量的。

因此我们需要一个能够帮我们解决以上出现的两种情况的优秀解决方案。

版本控制系统的出现一方面解决了个人在控制不同版本的工作成果问题,另一方面又很好的实现了团队人员在同一个项目中协同工作的问题.

三、 一个好的版本控制系统应实现:

1.备份(Backup)和恢复(Restore)。文件的每一次编辑都得到保存,可以恢复到任意一个日期。
2.同步(Synchronization)。让不同用户随时都能得到文件的最新版本。
3.短期撤销(Short-term undo)。文件被你搞乱了,怎么办?那就撤销编辑,回到最近一次的无差错版本。
4.长期撤销(Long-term undo)。有时候,你会过了很久才发现出错了。如果你想撤销一年前的一次编辑,怎么办?那就去取回一年之前的那个版本。
5.追踪修改(Track Changes)。文件的每一次编辑,你都可以写下注解,解释编辑的原因。(这些信息储存在VCS中,而不是文件中。)这样就很容易看出,长期中文件变化的脉络和原因。
6.追踪权限(Track Ownership)。VCS会记录每一次提交新版本的用户名。这样就容易追踪责任。
7.试验功能(Sandboxing)。当你对文件做出重大变更时,你可以把编辑内容暂时性地保存在一个单独的区域,不断进行测试和除错。等到确认正确以后,再加入主版本。
8.分支(Branching)和合并(merging)。分支功能可以看成是一个更大的测试版本。你将整个的代码做一份拷贝,然后再起一个独立的名字,追踪其变化,与原版本脱离关系,这就是分支。以后,你还可以将分支版本再并入源版本,这就是合并。

1 0