配置管理工具-SVN

功能简介

Subversion 是一种集中的分享信息的系统,它的核心是版本库,储存所有的数据,版本库按照文件树形式储存数据-包括文件和目录,任意数量的客户端可以连接到版本库,读写这些文件。通过写数据,别人可以看到这些信息;通过读数据,可以看到别人的修改。

Subversion 会记录每一次的更改,不仅针对文件也包括目录本身,包括增加、删除和重新组织文件和目录。

当一个客户端从版本库读取数据时,通常只会看到最新的版本,但是客户端也可以去看以前的任何一个版本。

系统是设计来记录和跟踪每一次改动的。

版本模型:版本控制系统的核心任务是提供协作编辑和数据共享,但是不同的系统使用不同的策略来达到目的。

锁定-修改-解锁方案:

  • 锁定可能导致管理问题
  • 锁定可能导致不必要的线性化开发
  • 锁定可能导致错误的安全状态

拷贝-修改-合并方案:

•Subversion系统使用拷贝-修改-合并模型,在这种模型里,每一个客户联系项目版本库建立一个个人工作拷贝——版本库中文件和目录的本地映射。用户并行工作,修改各自的工作拷贝,最终,各个私有的拷贝合并在一起,成为最终的版本,这种系统通常可以辅助合并操作,但是最终要靠人工去确定正误。

工作拷贝:一个Subversion 工作拷贝是本地机器一个普通的目录,保存着一些文件,可以是任意的编辑文件,而且如果是源代码文件,可以像平常一样编译,工作拷贝是自己的私有工作区

工作拷贝如何追踪版本库:对于工作拷贝的每一个文件,Subversion 在管理区域.svn/记录两项关键的信息:

  • 工作文件所作为基准的修订版本(叫做文件的工作修订版本)
  • 一个本地拷贝最后更新的时间戳。

Svn windows客户端

通过与版本库通讯,Subversion 可以告诉我们工作文件处于如下哪一种状态:

  • 未修改且是当前的:文件在工作目录里没有修改,在工作修订版本之后没有修改提交到版本库。svn commit 操作不做任何事情,svn update 不做任何事情。
  • 本地已修改且是当前的:在工作目录已经修改,从工作修订版本之后没有修改提交到版本库。本地修改没有提交,因此svn commit 会成功的提交,svn update 不做任何事情。
  • 未修改且不是当前的了: 这个文件在工作目录没有修改,但在版本库中已经修改了。这个文件最终将更新到最新版本,成为当时的公共修订版本。svn commit 不做任何事情,svn update 将会取得最新的版本到工作拷贝。
  • 本地已修改且不是最新的: 这个文件在工作目录和版本库都得到修改。一个svn commit 将会失败,这个文件必须首先更新,svn update 命令会合并公共和本地修改,如果Subversion 不可以自动完成,将会让用户解决冲突。

软件下载

http://subversion.tigris.org/

服务器和客户端安装

建立版本库(Repository)

svnadmin create E:\svn\repository

配置用户和权限

运行独立服务器

初始化导入

基本客户端操作

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值