SVN是Subversion的简称。是一个开放源码的版本号控制系统。在它的管理下,文件和文件夹能够超越时空的限制,权且当作一种奇妙的“时间机器”吧。

基本功能

版本号控制

作为一个版本号控制系统,SVN能够及时的更新版本号。将文件存放在中心版本号库里。

这个版本号库非常像一个普通的文件server,不同的是,它能够记录每一次文件和文件夹的改动情况。

这样就能够籍此将数据恢复到曾经的版本号,并能够查看数据的更改细节。

备份

SVN会对你的每一次操作和更改进行备份(为了节省占用空间。多採用增量备份)。更改错误、误删、不惬意、修bug、建分支,这些都没关系。

有了SVN,妈妈再也不用操心我改代码了。so easy !

工作流程

要点

对SVN总体的了解和把控。

文件的检出(Checkout)、加入(Add)、提交(Commit)、更新(Update);

版本号库的合并、分离、转移;点这里

冲突

在使用SVN提交文档时,不免遇到冲突而无法提交。

产生原因:

多位团队成员操作同一文件,此时版本号号为1。A小伙工作利索。干劲十足。非常快操作完毕,提交后server上版本号变化为2;B小伙干的慢,随后也完毕了,開始提交,此时冲突出现。

由于B要提交的文件此时在server上已经变更为版本号2,内容也有所更改。

解决冲突:

1.resolve(编辑冲突)

2.revert(选择SVN还原,放弃自己所做的改动)

3.成员协商交流

怎样避免:

1.对文件改动编辑前。先更新(update)。

2.对文件编辑后,及时提交(commit),勤提交;

3.多沟通。

关于更新和提交

在看社河师哥录制的视频时。发现师哥总是先提交一下。然后紧接着就更新。看《SVN源码管理规范 2.0》时。上面强调要先更新,再提交。

相互矛盾,自己感觉先更新和先提交都能达到目的。查阅资料以后理解了。事实上对于紧锣密鼓的开发工作时,先后没有什么大影响,这个问题就变成了先有鸡还是先有蛋的问题。

可是,对于日常开发。先更新再提交应该是一个好习惯。更新之后才干保证眼下自己的文件是最新版的,此时開始编辑,能够有效的降低冲突,这正照顾了上面提到的怎样避免冲突。

长处

   1.记录细节

   2.成果复用

   2.协同工作

   3.便于管理

   4.备份及时

对SVN画张图

小结

关于SVN的内容不止我介绍的这么一丢丢,还有待在兴许的合作发开中不断实践发现。软件开发工具随着时代发展在不断的更新迭代中。SVN来源于CVS,却将要替代CVS,可见人们对工具的使用总是非常挑剔,对先进工具的不断学习必将提高我们的工作效率,所以对学习这件事来说。我们未完待续……

SVN使用小结的更多相关文章

  1. eclipse svn合并小结

    合并时候,当前在哪个分支上,哪个分支即为“主干” 弱化主干 分支的概念.svn原则上并没有主干 分子 主 从的概念.从一个项目衍生(分支)出来的版本,都可以是主,也可以是从. 版本之间互相合并原理 文 ...

  2. SVN提交小结

    在我们用VS进行项目合作开发的过程中,SVN的提交控制是至关重要的,由于版本冲突造成的各种麻烦咱们已经遇到的够多了.所以,总结他们的经验教训,给我们也给其他人做个提醒.下面的第一部分是需要在正式开发之 ...

  3. 搭建svn服务器小结

    最开始是用VisualSVN-Server来搭建服务器的,某一天安装了eset杀毒软件后,发现不能用了,每次打开配置页时报错.Visualsvn server 0x80070005 百度搜索,找到相同 ...

  4. SVN文件排除

    背景:原来SVN库人事2.0在24.42server上,后来server改革,把库迁移到了24.248server上. 原来24.42上的库,在update或commit后文件总是绿色的.看着心里特别 ...

  5. SOA与WCF

    背景: 高校平台马上就要进入编程阶段了,对于没怎么做过正式项目的我们来说,要学的东西实在太多了.一下子面对这么多学习资料时,我们也不能着急,还是踏踏实实,一个一个地去了解,其实他们都没那么神秘.这篇博 ...

  6. 使用SVN小结

    自从加入团队后,开始使用SVN,以下是个人对SVN的一些认识和小结. 一.SVN是什么? SVN是版本管理工具,譬如团队进行项目开发,项目代码都储存在服务器上,成员可用SVN在本地获得并更新代码. 二 ...

  7. SVN和Git代码管理小结

    SVN和Git代码管理小结  之前,先用的是SVN,后来用了Git,最近又在用SVN.  关于代码管理,写几句.    由于自己参与的项目,人通常不超过10个人,版本不是很多,协作比较正常,感觉SVN ...

  8. SVN安装使用小结

    SVN在实际的项目开发中有很广泛的用途.一开始接触SVN(Subversion),思路并不清楚,现在总算理清了. 声明:本文并不是系统地对SVN做介绍,而是笔者的使用总结,个人认为的一些要点,可能对初 ...

  9. 关于SVN更新时文件加锁的小结

    今天使用SVN更新应用,出现了下面的问题: update D:/workspace/acode/resource/springconf -r 6622 --force    Attempted to ...

随机推荐

  1. Maven 仓库之阿里云镜像配置

    每当项目开发中 update Maven Project 的时候,我们会发现那个进度是非常的慢,这也严重阻碍了平日的开发进度.        然而,殊不知阿里云搭建了一个国内镜像 http://mav ...

  2. 7-10 守卫棋盘 uva11214

    输入要给n*m的棋盘  均小于10   某些格子有标记  用最少的皇后  辐射到所有的标记 限时 6666ms 用IDA*    时间6000  尴尬. #include<bits/stdc++ ...

  3. poi类包对比

  4. List元素为泛型时的注意事项

    最近的项目赶得非常紧,这节奏跟最近的天气一点也不搭调. 编码的过程,遇到一个关于List的小问题. 在调用List.add(E e)的时候范了一个小毛病,很自然地认为list中存储的是 E  对象的另 ...

  5. iOS Sprite Kit教程之真机测试以及场景的添加与展示

    iOS Sprite Kit教程之真机测试以及场景的添加与展示 IOS实现真机测试 在进行真机测试之前,首先需要确保设备已经连在了Mac(或者Mac虚拟机)上,在第1.9.1小节开始,设备就一直连接在 ...

  6. session效验

    看代码... <?php $servername = "服务器名"; $username = "账户名"; $password = "密码&qu ...

  7. python opencv3 轮廓检测

    git:https://github.com/linyi0604/Computer-Vision # coding:utf8 import cv2 import numpy as np # 创建一个2 ...

  8. type与instance区别

    class Foo(object): pass class Bar(Foo): pass obj = Bar() # isinstance用于判断,对象是否是指定类或其派生类的实例 print(isi ...

  9. 关于PyCharm database查看db.sqlites文件无内容的一种可能解决方法

    初学python,学到了scrapy爬虫数据入库,在网上跟着一个视频课进行学习,但是碰到了如下问题: 这里新建了数据库文件之后,将这个.sqlite文件拖动到Database里面,然后出现了上图描述问 ...

  10. MyBatis 插入时返回刚插入记录的主键值

    MyBatis 插入时返回刚插入记录的主键值 一.要求: 1.数据库表中的主键是自增长的,如:id: 2.获取刚刚插入的记录的id值: 二.源代码: 1.User.java package cn.co ...