SVN-备份加版本控制

来源:互联网 发布:新闻推荐系统数据集 编辑:程序博客网 时间:2024/06/05 09:19

     SVN,听着好高大上的感觉,到底干嘛用的,一起来看。


是什么

    全称为Subversion,是一个自由开源的版本控制系统,可以将数据回复到早期版本或者检查数据修改的历史,

    简单理解就是:SVN =版本控制 +备份服务器

    简单的说,可以把SVN当成备份服务器,更好的是,他可以记住每次上传到这个服务器的档案内容。并且自动的赋予每次的变更一个版本。


什么情况需要用

    SVN适合于多人合作开发项目使用,小项目或独自开发使用较少。版本控制功能可以根据文件修改的次数自动增加版本号以方便找回历史文件,比如修改20次后发现10比较好,然后可以找回。另外可以防止多人合作开始时膝盖一类文件导致文件覆盖或者被删除


为什么会用

    团队合作是,程序的备份,版本控制,伙伴间的数据同步都是相当重要的 。

备份工作档案:

    永远不知道计算机上的硬盘何时会坏掉。根据经验法则再加上墨菲定理,坏事往往都发生在最重要的时刻。

    比如对于项目开发人员开发来说,辛辛苦苦做出的程序被误删了或者要release东西的前一刻,硬盘完全坏掉,无法修复。所以,常常备份数据是相当重要的。

版本控制:

    我们永远无法保证手头上最新的版本永远都是对的。

    对于老板来说,交付给用户的产品“缺斤少两”用户安装时才发现问题;对于项目经历来说,版本太多,太乱,查看不方便;对于项目开发人员来说,经过了数天的努力,发现走出了方向,需要将所有的修改回复到数天前的版本。对于这些情况,如果没有一个好的版本控制,最后的结果都会苦不堪言,如果有一个好的版本控制,那就轻而易举了。

伙伴间的数据同步:

    在多人合作时,伙伴之间会互相需要批次之间的档案。SVN可以很方便的实现把最新的档案提供给其他伙伴。

    对于项目开发人员来说,如果我要更改源文件,我就很容易知道那个是最新的;如果多人修改一个文件,所有人的额结果都不会被冲掉。对于项目经理来说,就不会因为员工之间互相扯皮而头痛,就会很容易的知道问题到底出在了哪;另外对于老说,也可以确切的了解项目进度。

如果没有一个好的办法,备份不同版本是很耗费硬盘空间的:

    如果不想备份那么多,势必就是要减少备份的次数,拉长备份周期将会导致数据遗失的危险性增高。SVn的存放档案的方式是采用差异备份的方式,只会备份有不同的地方,所以很省硬盘空间,此外,他也可以针对所谓的非文字文件进行差异备份。


怎么用(基本概念)

    配置库:SVN的核心是配置库,储存所有的数据,配置库按照文件树的心事储存数据,包括文件和目录,人员数量的客户端可以链接到配置库,读写这些文件(checkout)。

    工作副本:程序员从配置库拿到源代码,放在本地作为工作副本,在工作副本上进行查看、修改、编译、运行、测试等操作,并把新版本的代码从本地提交(commit)会配置库中。


结语

版本控制软件对于程序员的重要性,就相当与枪对于士兵一样。而SVN就是一款这样的软件,这些都是暂时的理解,还有待继续深刻学习。


另外有一个问题,所有数据都在配置库中,如果配置库坏了,那是不也就意味着全完蛋了?

原创粉丝点击