SVN版本控制之道(菜鸟篇)

To b honest ,用了svn还是有那么久了...但是真的没有系统的看博客学习,今天稍微整理整理然后就好好归类归类..

SVN:Subversion的简称,我有必要提一下.

首先说说CVS和SVN区别:


SubVersion:实现服务系统的软件。
TortoiseSVN:是SVN客户端程 :arrow: 序,为windows外壳程序集成到windows资源管理器和文件管理系统的Subversion客户端。


CVS只记录单个文件的历史,但是Subversion实现了一个可以跟踪目录树更改“虚拟”版本化的文件系统,文件和目录都是有版本的。

真实的版本历史:因为CVS只记录单个文件的版本,对于拷贝和改名这些文件经常发生的操作,不会改变一个目录的内容,在CVS中并不支持。在CVS里也不可以用一个完全不同的文件覆盖原来的同名文件而又不继承原来文件的历史。通过Subversion,你可以对文件或是目录进行增加,拷贝和改名操作,也可以新增一个具有干净历史的文件..

可选的网路层:Subversion 可以与Apache结合,通过网路来进行管理和控制..

二进制保存:Subversion用的是二进制保存,对于SVN数据就是二进制数据,都是一样的,而CVS却不同..

可修改行:Subversion没有历史负担,它由一系列良好的共享C库实现,具有定义良好的API,这使得Subversion非常容易维护..


还有些常用的命令
Update ----------------------------------------------------更新操作(更新服务上的最新版本)
Commit----------------------------------------------------提交操作(向服务器上提交本地版本)
Show log--------------------------------------------------查看版本(个人感觉很强大,可以综合干很多事情,比如revision)
Diff---------------------------------------------------------很服务器版本做比较
Update to revision----------------------------------------更新到一起的版本(基本不用,除非有很大的改动)
Repo-browser---------------------------------------------查看服务器上的东西
Rename----------------------------------------------------更改名字
Delete------------------------------------------------------删除路径或文件
Add--------------------------------------------------------添加路径
Export-----------------------------------------------------导出( 不是SVN文件)
import-----------------------------------------------------载入到服务器
check-out--------------------------------------------------导出(是SVN文件)
check-in----------------------------------------------------同import(不过没有这个标签,但是一般都这么说)
clean up----------------------------------------------------清理缓存
Merge------------------------------------------------------合并矛盾(一般不用,用的话一般和Commit连用)、
Branch-tag-------------------------------------------------分组
Get-lock----------------------------------------------------上锁
Release-lock-----------------------------------------------放锁
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
早在2000年,CollabNet, Inc.就开始召集开发人员开发CVS的替代品。CollabNet 提供一套名为SourceCast协同工作套件,其中的一部分组件是版本控制。虽然SourceCast使用CVS作为其最初的版本控制系统,但是CVS的种种限制从一开始就处处可见,最后CollabNet明白必须要找到一个更好的解决方案。不幸的是,至少在免费license中,因为没有更好的选择,CVS已经广泛成为了开源世界中事实上的标准。所以CollabNet决定开发一个新的版本控制系统,保留CVS的基本特性但去除CVS的bug和不好的特性。   在2000年2月,他们联系《使用CVS开发开源项目》(Open Source Development with CVS)(Coriolis, 1999)的作者Karl Fogel,并征求了他是否愿意在这个新的项目中担任一个角色。巧合的是,当时Karl已经和他的朋友Jim Blandy讨论了一个关于新的版本控制系统的设计。在1995年,这两人就成立了Cyclic Software,一个提供CVS的商业支持的软件公司。虽然他们经营商业服务,但是仍然在每天都在工作中使用CVS。使用CVS的挫折感使得Jim认真思考更好的方法来管理数据,不但确定名字为“Subversion”,而且完成了Subversion档案库的基础设计。   当CollabNet的电话到来时,Karl立即答应了加入项目中,而且Jim让他的雇主RedHat Software同意让他在这个项目中不定期工作。CollabNet雇用了Karl和Ben Collins-Sussman,并在5月开始了详细设计工作。在得到了来自CollabNet的Brian Behlendorf、Jason Robbins和Greg Stein(当时是一名活跃在WebDAV/DeltaV规范过程的自由程序员)很多创意的帮助下,Subversion很快地引起了一个活跃开发者社区的注意。它找出并欢迎很多同样在CVS上受到挫折的社员能来为这个项目做点什么。   Subversion 最初的设计Team定下了几个简单的目标。 它必须在功能上可取代 CVS,也就是说, 所有 CVS 可做到的事, 它都要能够作到。 在修正最明显的瑕疵的同时, 还要保留相同的开发模式。 还有, Subversion 应该要和 CVS 很相像, 任何 CVS 使用者只要花费少许的力气, 就可以很快地上手。   经过十四个月的编码后, Subversion 于2001年8月31日开始实现 “自行管理”。 也就是说, 开发人员不再使用 CVS 来管理 Subversion 的代码, 而以 Subversion 自己来管理。   从启动这个项目到现在,虽然CollabNet提供了大部分的资金(它付出几位全职 Subversion 开发人员的薪水), 但这还是个开源项目, 由一组松散透明的规则所约定。 CollabNet 拥有代码的版权完全符合 Debian Free Software Guidelines。 换句话说, 每个人都可以随意地免费下载、修改、以及重新发布 Subversion; 完全不需要经过 CollabNet, 或是任何人的允许。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值