SVN的目录结构,trunk、tag、branches
我们在一些著名开源项目的版本库中,通常可以看到trunk, branches, tags等三个目录。由于SVN固有的特点,目录在SVN中并没有特别的意义,但是这三个目录却在大多数开源项目中存在,这是因为这三个目录反映了软件开发的通常模式。
trunk是主分支,是日常开发进行的地方。
branches是分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。又比如为不同用户客制化的版本,也可以放在分支中进行开发。
tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。
例子:
比如一个项目有main.cpp, common.h两个文件,假设目前在开发的是最新的3.0版本,而且1.0/2.0版本也在进行维护,那么项目树将类似如下样子:
project|+-- trunk+ |+ +----- main.cpp (3.0版本的最新文件)+ +----- common.h++-- branches+ |+ +-- r1.0+ + |+ + +---- main.cpp(1.x版本的最新文件)+ + +---- common.h+ ++ +-- r2.0+ |+ +---- main.cpp(2.x版本的最新文件)+ +---- common.h++-- tags (此目录只读)|+-- r1.0+ |+ +---- main.cpp(1.0版本的发布文件)+ +---- common.h++-- r1.1+ |+ +---- main.cpp(1.1版本的发布文件)+ +---- common.h++-- r1.2+ |+ +---- main.cpp(1.2版本的发布文件)+ +---- common.h++-- r1.3+ |+ +---- main.cpp(1.3版本的发布文件)+ +---- common.h++-- r2.0+ |+ +---- main.cpp(2.0版本的发布文件)+ +---- common.h++-- r2.1|+---- main.cpp(2.1版本的发布文件)+---- common.h
要使用这样的文件夹结构,在建立项目版本库时,可首先建好项目文件夹,并在其中建立trunk, branches, tags三个空的子目录,再将项目文件夹连同这三个子目录一起导入版本库。
这样在trunk中开始进行开发,当需要建立branch或tag时,使用SVN的copy操作进行。
其中tags目录需要只读,可以使用SVN中的authz文件控制该目录的访问权限为只读。
参考大佬文章链接
链接:https://www.jianshu.com/p/909b6aaa1f9a
菜鸟不是知识的生产者,却是知识的搬运工
SVN的目录结构,trunk、tag、branches相关推荐
- svn 目录结构 trunk java_svn代码版本管理
1.0开发,做dev1.0的branch 此时的目录结构 svn://proj/ +trunk/ (不负担开发任务) +branches/ +dev_1.0 (copy from trunk) +ta ...
- svn 目录结构 trunk java_如何彻底删除SVN中的文件和文件夹(附恢复方法)
这里假设SVN项目的目录为 /data/svn/project,我们想排除trunk/test.exe文件和trunk/notallowed/目录,操作步骤如下及执行的svn命令(在svn安装目录的b ...
- SVN的目录结构介绍和版本管理方式
1 SVN标准目录 Subversion有一个很标准的目录结构,是这样的.比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是: 这是一个标准的布局,trunk为主开发目录, ...
- 工程linux下创建svn仓库目录结构
查了好多资料,发现还是不全,干脆自己整理吧,至少保证在我的做法正确的,以免误导读者,也是给自己做个记录吧! 第一步: mkdir -p {xxx/{trunk/{bin,doc,src/{bootlo ...
- SVN中trunk、branches、tag的使用
我相信初学开发在SVN作为版本管理时,都估计没可能考虑到如何灵活的运用SVN来管理开发代码的版本,下面我就摘录一篇文章来简单说明SVN里的trunk,branched,tags这个三个文件目录的用法. ...
- SVN目录结构及作用
SVN规范 SVN目录规范 在visualSVN中创建仓库时,可以选择svn目录结构 Trunk 主干目录,此目录下的文件为基准文件 Branches 用于开发的分支目录 Tags 用于发布的版本目录 ...
- svn 分支(branch)和标签(tag)管理
版本控制的一大功能是可以隔离变化在某个开发线上,这个开发线就是分支(branch). 分支通常用于开发新功能,而不会影响主干的开发.也就是说分支上的代码的编译错误.bug不会对主干(trunk)产生影 ...
- 【SVN】SVN的trunk、branches、tag的使用以及分支的概念
SVN命令参考: https://www.cnblogs.com/wlsxmhz/p/5775393.html svn的存储结构一般建议在根目录下建立trunk.branches.tags这三个文件夹 ...
- 关于SVN 目录结构
Subversion有一个很标准的目录结构,是这样的.比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是 svn://proj/ | +-trunk +- ...
- 【物联网】OpenWrt OpenWRT的源码下载及目录结构
OpenWRT的源码下载及目录结构 OpenWrt的源代码管理默认用的是SVN下载: svn co svn://svn.openwrt.org/openwrt/trunk/ . 还可以用Git下载: ...
最新文章
- 数据结构之跳表Skiplist
- 《大道至简》第一章编程的精义伪代码读后感
- MD5 Library in .NET
- 计算机模拟热处理,计算机模拟在热处理中的应用
- display函数怎么使用_损失函数—深度学习常见损失函数总结【图像分类|上】
- SQL提取时间段内数据
- 实现 npm script 命令自动补全
- php 万能表,手把手教你,如何使用数字万用表!
- TCP/IP协议(2):各层网络设备
- laravel:如何快速实现数据填充,创建模拟数据(使用seeder)
- 2021-2027全球与中国天然眼部卸妆产品市场现状及未来发展趋势
- sis防屏蔽程序_智能化弱电工程屏蔽机房基础知识
- idea安装SVN插件并使用
- 机器学习实战- 回归(Regression) 概述
- 游戏低延迟高续航真无线蓝牙耳机,小巧便捷出差旅行必备
- win10系统 该文件没有与之关联的应用来执行该操作,请安装应用,若已经安装应用,请在“默认应用设计“页面中创建关联
- Ubuntu上使用微信
- 计算机图形学 学习笔记(八):三维图形变换:三维几何变换,投影变换(平行/ 透视 投影)
- 敏捷软件开发经理的5个职责
- USB摄像头方案及应用