初识SVN

来源:互联网 发布:无锡房价 知乎 编辑:程序博客网 时间:2024/05/29 01:53

首先,我们要知道什么是SVN,SVN是scm的一种,那么scm又是什么呢?

scm是一门用来记录并控制软件产品数据的管理工具,所以SVN就是一门用来记录并控制软件产品数据的管理工具。

我们使用SVN的理由是什么?

1、及时了解团队中其他成员的进度
2、轻松比较不同版本之间的细微差别
3、记录每个文件成长的每步细节,利于成果的复用
4、资料共享,避免以往靠邮件发送文件造成的版本混乱
5.、人人为我,我为人人,所有成员维护实际上是在同一个版本库中,无需专人维护所有文件的最新版本

了解SVN的基本概念:

配置库:

是SVN的核心,存储所有数据,配置库按照文件树的形式存储数据—包括文件和目录,任意数量的客户端可以连接到配置库,读写这些文件,通过写数据,别人可以看到这些信息,通过读数据,可以看到别人的修改
最特别是Subversion会记录配置库中的每一次更改,不仅针对文件也包括目录本身,包括增加删除和重新组织文件和目录

工作副本:

 与位于中央配置库对应的每个人的工作空间,他是每个程序员工作的地方,程序员从配置库拿到源代码,放在本地作为工作副本,在工作副本上进行查看、修改,编译,运行、测试等操作,并把新版本的代码从这里提交到配置库中。

版本控制与备份:

1、版本控制,根据文件修改的次数自动增加版本号以方便找回历史文件
2、防止多人合作开发是修改一类文件导致文件覆盖或者被删除

冲突:

是指团队协同工作时,当多位团队成员同时修改同一文件,造成本地文件与SVN系统的文件不一致,而导致文件无法提交的情况。

解决冲突:

面对冲突文件我们可以使用两种方式解决冲突:
1、使用工具解决冲突
2、使用revert放弃所做的修改

SVN的生命周期及其基本用法

创建版本库

版本库相当于一个集中的空间,用于存放开发者所有的工作成果。版本库不仅能存放文件,还包括了每次修改的历史,即每个文件的变动历史。
Create 操作是用来创建一个新的版本库。

检出

Checkout 操作是用来从版本库创建一个工作副本。工作副本是开发者私人的工作空间,可以进行内容的修改,然后提交到版本库中。

更新

顾名思义,update 操作是用来更新版本库的。这个操作将工作副本与版本库进行同步。由于版本库是由整个团队共用的,当其他人提交了他们的改动之后,你的工作副本就会过期。

执行变更

当检出之后,你就可以做很多操作来执行变更。编辑是最常用的操作。你可以编辑已存在的文件来,例如进行文件的添加/删除操作。

复查变化

当你检出工作副本或者更新工作副本后,你的工作副本就跟版本库完全同步了。但是当你对工作副本进行一些修改之后,你的工作副本会比版本库要新。在 commit 操作之前复查下你的修改。

修复错误

假设你对工作副本做了许多修改,但是现在你不想要这些修改了,这时候 revert 操作重置对工作副本的修改。

解决冲突

合并的时候可能会发生冲突。Resolve 操作就是用来帮助用户找出冲突并告诉版本库如何处理这些冲突。

提交更改

Commit 操作是用来将更改从工作副本到版本库。

注意:

在提交之前,你必须将文件/目录添加到待变更列表中。列表中记录了将会被提交的改动。当提交的时候,SVN通常会提供一个注释来说明为什么会进行这些改动。这个注释也会成为版本库历史记录的一部分。Commit 是一个原子操作,也就是说要么完全提交成功,要么失败回滚。用户不会看到成功提交一半的情况。

原创粉丝点击