SVN

svn是一个开放源代码的版本控制系统,它管理着随着时间改变的数据,这些数据存放在一个中央资料档案库中。这个档案库很像一个普通的文件服务器,不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧版本,或是浏览文件的变动历史。

1、SVN简介

· repository:源代码库,源代码统一存放的地方。

· Checkout:提取,我们可以从源代码库提取代码。

· Commit:提交,当修改了代码,我们可以提交到源代码库。

· Update:更新,当提取了一份源代码,更新一下就可以和代码库中的源代码同步。

如果两个程序员同时修改了同一个文件,SVN可以合并这两个程序员的改动。SVN管理源代码是以行为单位的,两个程序员只要不是修改了同一行程序,SVN都会自动合并两种修改。如果是同一行,SVN会提示文件冲突,需要手动确认。

2、SVN的主要功能

· 目录版本控制

SVN做了一个虚拟的版本控制文件系统,能够根据时间追踪整个目录的变动。目录和文件都能进行版本控制。

· 真实的版本历史

在SVN中,你可以增加(add)、删除(delete)、复制(copy)、重命名(rename),无论是文件还是目录,所有新加的文件都从一个新的、干净的版本开始。

· 自动提交

一个提交动作,不是全部更新到了档案库中。它允许开发人员以逻辑区间建立并提交变动,以防止当部分提交成功时出现的问题。

· 纳入版本控管的元数据

每一个文件目录都附有一组属性关键字并和属性值相关联。你可以创建、并存储任何你想要的key/value对。属性是随着时间来做版本控管的。

· 选择不同的网络层

SVN有一个轻量级的独立SVN服务器,使用的是自定义的通信协议,可以很容易地通过ssh以tunnel方式使用。

· 一致的数据处理方式

SVN使用二进制差异算法来表示文件的差异,它对文字与二进制文件都一视同仁,都以压缩形式存储在档案库中。

· 有效的分支与标签

SVN建立分支与标签的方法,就只是复制该项目,使用的方法类似于硬连接。

· SVN主要是一群共用的C程序库,具有定义完善的API,SVN便于维护。

3、SVN生命周期

· 创建版本库

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

· 检出

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

· 更新

update用来更新版本库,这个操作将工作副本与版本库进行同步。

· 执行变更

检出之后,可以对文件进行变更操作,例如:编辑、添加、删除,这些操作会先被添加到待变更列表中,直到执行了commit操作才会真正执行变更

· 复查变化

在commit提交之前复查一下修改是一个很好的习惯,Status(查看状态)操作列出了工作副本中所进行的变动用来查看待变更列表可以用diff操作查看这些变动的详细信息

· 修复错误

Revert操作重置了对工作副本的修改它可以实现版本回退,它可以重置一个或多个文件/目录,也可以重置整个工作副本。

· 解决冲突

Merge操作会自动处理可以安全合并的东西,其他的会被当作冲突。产生冲突的部分需要人为处理,Resolve操作用来帮助我们找出冲突并告诉版本库如何处理冲突

· 提交更改

commit操作将更改从工作副本提交到版本库。这个操作会修改版本库的内容,commit操作是一个原子操作

4、SVN查看历史信息

svn log   #用来展示SVN的版本作者、日期、路径等等,可以显示所有的信息
svn log 文件路径   #查看某一个文件的版本信息
svn diff   #用来显示特定修改的行级详细信息,查看历史修改详情
svn cat   #将在特定版本的某文件显示在当前屏幕,检查一个过去版本,不查看它们的区别
svn list   #显示一个目录或某一版本存在的文件,不下载文件到本地

5、SVN分支

分支其实就是主干线的一个copy版,分支也具有版本控制功能,并且和主干线相互独立。我们可以通过合并功能,将分支合并到主干线上,最后合并成一个项目。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值