目录
SVN生命周期
(1)创建版本库
版本库相当于一个集中的空间,用于存放开发者所有的工作成果。版本库不仅能存放文件,还包括了每次修改的历史,即每个文件的变动历史
Create操作是用来创建一个新的版本库。大多数情况下这个操作只会执行一次。当创建一个新的版本库的时候,版本控制系统会让你提供一些信息来标识版本库,例如创建的位置和版本库的名字
(2)检出
Checkout操作是用来从版本库创建一个工作副本。工作副本是开发者私人的工作空间,可以进行内容的修改,然后提交到版本库中
(3)更新
Update操作是用来更新版本库的。这个操作将工作副本与版本库进行同步。由于版本库是由整个团队共用的,当其他人提交了他们的改动之后,你的工作副本就会过期
假设A和B是一个项目的两个开发者。他们同时从版本库中检出了最新的版本并开始工作。此时,工作副本是与版本库完全同步的。然后,B很高效的完成了他的工作并提交了更改到版本库中
此时A的工作副本就过期了。更新操作将会从版本库中拉取B的最新改动并将A的工作副本进行更新
(4)执行变更
当检出之后,就可以做很多操作来执行变更。编辑是最常用的操作。可以编辑已存在的文件,例如进行文件的添加/删除操作
可以添加文件/目录。但是这些添加的文件目录不会立刻成为版本库的一部分,而是被添加进待变更列表中,直到执行了Commit操作后才会成为版本库的一部分
同样地可以删除文件/目录。删除操作立刻将文件从工作副本中删除掉,但该文件的实际删除只是被添加到了待变更列表中,直到执行了Commit操作后才会真正删除。
Rename操作可以更改文件/目录的名字。“移动”操作用来将文件/目录从一处移动到版本库中的另一处
(5)复查变化
当检出工作副本或者更新工作副本后,工作副本就跟版本库完全同步了。但是当对工作副本进行一些修改之后,工作副本会比版本库要新。在Commit操作之前复查下修改是一个很好的习惯
Status操作列出了工作副本中所进行的变动。正如之前提到的,对工作副本的任何改动都会成为待变更列表的一部分。Status操作就是用来查看这个待变更列表
Status操作只是提供了一个变动列表,但并不提供变动的详细信息。可以用Diff操作来查看这些变动的详细信息
(6)修复错误
假设对工作副本做了许多修改,但是现在不想要这些修改了,这时候Revert操作将会帮助你
Revert操作重置了对工作副本的修改。它可以重置一个或多个文件/目录。当然它也可以重置整个工作副本。在这种情况下,revert 操作将会销毁待变更列表并将工作副本恢复到原始状态
(7)解决冲突
合并的时候可能会发生冲突。Merge操作会自动处理可以安全合并的东西。其它的会被当做冲突。例如,“hello.c”文件在一个分支上被修改,在另一个分支上被删除了。这种情况就需要人为处理。Resolve操作就是用来帮助用户找出冲突并告诉版本库如何处理这些冲突
(8)提交更改
Commit操作是用来将更改从工作副本到版本库。这个操作会修改版本库的内容,其它开发者可以通过更新他们的工作副本来查看这些修改
在提交之前,必须将文件/目录添加到待变更列表中。列表中记录了将会被提交的改动。当提交的时候,通常会提供一个注释来说明为什么会进行这些改动。这个注释也会成为版本库历史记录的一部分。Commit 是一个原子操作,也就是说要么完全提交成功,要么失败回滚。用户不会看到成功提交一半的情况
SVN服务器的使用
资源仓库
SVN资源仓库中有三个非常重要的目录:trunk(主干)、branches(分支)、tags(标签)其作用是都可以存放文件的,只是在功能方面有一些区别,只是约定
(1)trunk(开发)
主干;一般的项目都是基于主干开发的
(2)branches(Bug修复)
分支;一般用于有某些开发功能时,需要基于主干开分支,开发完成后要合并到主干(问题修复的时候会在这做开发)
(3)tags(上线)
标签;项目开发完成后,发布上线时,需要将主干的代码打标签到tags中,一般情况下,tags的内容是只读的
创建资源库
资源库:用户提交文件用来存放的位置
1.右键Repositories点击create new Repositories选择资源库的类型
2.给资源库起个名字
3.选择带有 trunk、branches、tags的资源库
4.选择自定义权限,并点击创建 --> 完成(Finish)
创建用户
打开VisualSVN Server Manager;右键Users点击Create User --> 输入账号密码
创建成功
配置自定义用户权限
1.点击新建的资源库–>右键 --> properties
测试
在浏览器测试
访问路径可以直接右击库Copy
1.打开浏览器输入访问路径
2.登录后的页面(可查看一个项目的源码)
SVN客户端使用
1.桌面右击选择TortoiseSVN --> Repo-browser
2.填写账号密码
3.连接成功
4.选择trunk目录右键add File添加 一个文件进行测试
目录下面已经有了svn测试文件
访问SVN资源库的协议通常有三种
1.http:客户端和浏览器都可以访问
2.https:客户端和浏览器都可以访问,同时比http更安全
3.svn:只能通过客户端访问