LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭
SVN的相关使用教程
一木 2017-08-23

关于SVN目录结构:

subversion有一个很标准的目录结构,如果项目名称为qtb,SVN地址为:svn://qtb/,那么标准的目录结构为:

  • trunk

  • branches

  • tags

这里trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。

一般情况下我们所有的开发都是基于trunk目录下进行开发,当一个版本(release)开发告一段落(开发、测试、文档撰写、制作安装程序、打包等),代码处于冻结状态(人为规定,可以基于hook来进行管理)。此时应当基于当前冻结的代码库进行打tag操作。当下一个版本或者阶段的开发任务开始,继续在trunk目录下进行开发。

此时如果发现上一个已发行的版本有很严重的bug或者有很迫切的功能需求,而正在开发的版本又无法满足时间需求的时候,这时候就需要在上一个版本上进行修改了。这时应该基于发行版的tag,做相应的分支(branch)进行开发。例如刚刚发行了1.0版本,正在开发2.0版本,如果发现1.0版本有严重的bug,这个时候就应该在1.0版本的基础上进行branch的开发。

如果按照时间顺序,具体目录结构及操作如下:

1.已发行1.0版本,代码冻结。

2.基于已经冻结的trunk,为release1.0进行打tag。此时目录结构为:

svn://qtb/

  • trunk(冻结)

  • branches

  • tags

    +tag_release1.0(copy from trunk)

3.开始开发2.0版本,trunk此时为2.0的开发版

4.此时发现relsease1.0有严重bug需要修复,基于tag1.0进行branch的开发,此时目录结构为:

  • trunk(dev 2.0)

  • branches

    +dev1.0 bugfix branch(copy from tag/release1.0)

  • tags

    +release 1.0(copy from trunk)

5.在bugfix branch1.0进行1.0的bugfix的开发,在trunk进行2.0的开发

6.当1.0的bugfix修复完成后,基于dev1.0 bugfix branch做release。

7.根据需要选择性的把dev1.0 bugfix branch这个分支merge回trunk(什么时候进行这步操作,要根据具体情况)

上面这些就是一种很标准的开发模式,trunk永远是主开发目录,很多公司也是采用的这种方式进行开发的。它是一种集中式的开发,优点在于管理简单。

关于SVN的入门操作及小乌龟的操作请点击这里

关于分支和主干的合并(branch & merge)的操作请点击这里

SVN打tag的简单流程:

小乌龟客户端:

1.进入版本的目录,点击右键,选择ToroiseSVN;

2.选择Branch/tag;

3.在to path中输入放置tag的所在目录和文件名,如/tag/AAA.2.1.4.20131211;

4.在Log message中输入tag的描述信息。

webstorm或者其他IDE平台(具体操作可能有差异):

1.点击右键,选中subversion属性;

2.点击Branch or Tag;

3.选择Repository Location选项,表示复制svn上的代码( 选择另外一项,可以从本地文件进行复制);

4.在copy to 中选择Bracnch or Tag;

5.在base url 中输入指定放tag的目录;

6.在name中输入文件名;

7.在Comment中输入tag描述(不输入的话,会创建失败);

8.点击ok就完成了打tag的流程。


如果你阅读完本文仍有疑问的话,可以在评论区留言,谢谢!


推荐文章
评论(0)
分享到
转载我的主页