SVN,版本控制程序,是支撑项目开发的基础工具。

在团队开发中,不管是程序员还是美工、测试等人员,都会用到SVN,通常会把SVN视为源代码管理工具,但对于SVN更准确的理解是:

“帮助参与项目人员的管理他们的项目资产,其中项目资产包括:源代码、文档、测试和构建脚本等。”

SVN带来的优势:

1、提供项目级别撤销的可能;

2、协调团队开发,避免团队成员开发的代码相互覆盖;

3、SVN记录每次提交的改动,它允许你恢复旧版本的数据,或者追查数据变化的历史;

4、SVN允许团队在保持主线开发的同时,建立发布分支,并在发布分支上修改BUG,而不是团队开发的停滞;

5、....

正确使用SVN能给项目和团队带来非常明显的优势,即使你独自一个人在开发项目,也强烈建议你通过SVN来管理你的项目。

相信很多人都在用或使用过SVN,但正确使用SVN的人可能还是比较少的,很多人对于SVN可能仅限于提交、更新上,对于SVN的标签、分支、加锁等使用知之甚少。

你使用正确使用了SVN?

1、你是否在SVN项目仓库中合理划分了trunk、branches、tags目录来管控项目?

2、你是否在发布新版的过程中建立了发布分支,还是让团队中的开发人员停下来或不要提交代码?

3、你是否在版本发布后建立了版本标签?

4、你是否在编辑二进制文件时正确使用了加锁策略?

5、你是否听说过SVN的关键字展开的功能?

6、你是否知道一次提交后会解锁所有的加锁文件?

7、.......

SVN与TortoiseSVN实战:从入门到精通

正是因为很多项目人员没有正确运用SVN,所以打算写这个系列的文章,来分享SVN中有价值的知识和实战技巧,并结合TortoiseSVN客户端的讲解,真正从入门到精通,帮助项目人员提高项目管理水平。

路线图:从SVN环境的搭建和安全配置讲起,每周更新2-3篇,欢迎关注...


记录,为更好的自己!

SVN与TortoiseSVN实战:从入门到精通的更多相关文章

  1. SVN与TortoiseSVN实战:冲突详解(一)

    硬广:<SVN与TortoiseSVN实战>系列已经写了三篇,第一篇<SVN与TortoiseSVN实战:从入门到精通>,第二篇<SVN与TortoiseSVN实战:标签 ...

  2. SVN与TortoiseSVN实战:TortoiseSVN新建及合并分支

    硬广:<SVN与TortoiseSVN实战>系列已经写了两篇,第一篇<SVN与TortoiseSVN实战:从入门到精通>,关于分支和标签的知识介绍可翻阅第二篇<SVN与T ...

  3. SVN与TortoiseSVN实战:标签与分支

    最近在写<IOS性能调优系列>,今天偷个懒,写写SVN与TortoiseSVN实战的第二篇,标签与分支. 第一篇详见<SVN与TortoiseSVN实战:从入门到精通> SVN ...

  4. SVN与TortoiseSVN实战:文件加锁详解

    硬广:<SVN与TortoiseSVN实战>系列已经写了八篇,本篇是完结篇,整个系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解,以技巧性为主. 本篇详解使用Tortoi ...

  5. SVN与TortoiseSVN实战:属性的奇技淫巧(二)

    硬广:<SVN与TortoiseSVN实战>系列已经写了七篇,本系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解. 关于属性的奇技淫巧较多,分为两篇来写,第一篇详见< ...

  6. SVN与TortoiseSVN实战:属性的奇技淫巧(一)

    硬广:<SVN与TortoiseSVN实战>系列已经写了六篇,本系列结合TortoiseSVN对SVN中容易被忽视的部分进行了详解,预计再用三.四篇来结束这个系列. 本篇详解一下SVN的属 ...

  7. SVN与TortoiseSVN实战:补丁详解

    硬广:<SVN与TortoiseSVN实战>系列已经写了五篇,第二篇<SVN与TortoiseSVN实战:标签与分支>和第三篇<SVN与TortoiseSVN实战:Tor ...

  8. SVN与TortoiseSVN实战:冲突详解(二)

    硬广:<SVN与TortoiseSVN实战>系列已经写了四篇,第二篇<SVN与TortoiseSVN实战:标签与分支>和第三篇<SVN与TortoiseSVN实战:Tor ...

  9. SVN与TortoiseSVN实战:补丁详解(转)

    硬广:<SVN与TortoiseSVN实战>系列已经写了五篇,第二篇<SVN与TortoiseSVN实战:标签与分支>和第三篇<SVN与TortoiseSVN实战:Tor ...

随机推荐

  1. 在DataList、Repeater的HeaderTemplate和FooterTemplate模板中寻找控件FindControl

    [程序代码] <asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate> ...

  2. HtmlParser

    HtmlParser 基本类库使用 HtmlParser 提供了强大的类库来处理 Internet 上的网页,可以实现对网页特定内容的提取和修改.下面通过几个例子来介绍 HtmlParser 的一些使 ...

  3. Codeforces Round #363 (Div. 2) One Bomb

    One Bomb 题意: 只有一个炸弹,并且一个只能炸一行和一列的'*',问最后能否炸完所以'*',如果可以输出炸弹坐标 题解: 这题做的时候真的没什么好想法,明知道b题应该不难,但只会瞎写,最后越写 ...

  4. 模拟实现兼容低版本IE浏览器的原生bind()函数功能

    模拟实现兼容低版本IE浏览器的原生bind()函数功能: 代码如下: if(!Function.prototype.bind){   Function.prototype.bind=function( ...

  5. js上移、下移、置顶、置底功能实现

    实现页面上列表内容上移.下移.置顶.置底 功能,主要实现思路是节点操作,比如说:上移,直接把点击项移动到前一个节点,以此类推,当然实际代码实现还要加些判断,如当前点击操作项是否已经是置底或置底了,如果 ...

  6. Java多线程之线程中断

    该例子说明,Sleep可以被中断,但是I/O和synchronized不能被中断. package Thread.Interrupting; import java.io.IOException; i ...

  7. ruby 字符串学习2

    在一个ruby字符串中包含表但是或者变量.想使用不同的值替换表达式或者变量 1 类似java 或者python的printf-style方式 template = 'Oceania has alway ...

  8. Mongo 备份 还原

    表还原 mongorestore --collection Inquiry0315 -d Estate --drop --dir D:/backup/20150731/Estate/Inquiry.b ...

  9. C++学习18 派生类的析构函数

    和构造函数类似,析构函数也是不能被继承的. 创建派生类对象时,构造函数的调用顺序和继承顺序相同,先执行基类构造函数,然后再执行派生类的构造函数.但是对于析构函数,调用顺序恰好相反,即先执行派生类的析构 ...

  10. 关于 Python Iterator 协议的一点思考

    转:http://www.jianshu.com/p/dcf83643deeb Python 中有好几种容器或者序列类型:list tuple dict set str,对于这些类型中的内容,往往需要 ...