SVN中tag branch trunk用法详解(zhuan)

SVN 安装与使用教程 2020年9月更新最新教程 今天笔者为大家带来 SVN 的安装和使用,不知道 SVN 是什么? 就请让笔者为大家介绍一波吧~ SVN介绍 简介 SVN 全称 Subversion,是⼀个开放源代码的版本控制系统,Subversion 在 2000 年由 CollabNet Inc 开发,现在发展成为 Apache 软件基金会的⼀个项目,同样是一个丰富的开发者和用户社区的一部分。 SVN是一个开放源代码的版本控制系统,管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository) 中。 这个档案库很像一个普通的 阅读详情

本节主要讲解一下SVN中tag branch trunk的用法,在SVN中Branch/tag在一个功能选项中,在使用中也往往产生混淆。这里就向大家简单介绍一下,欢迎大家能和我一起学习SVN中tag branch trunk的用法。
在实现上,branch和tag,对于svn都是使用copy实现的,所以他们在默认的权限上和一般的目录没有区别。至于何时用tag,何时用branch,完全由人主观的根据规范和需要来选择,而不是强制的(比如cvs)。一般情况下,tag,是用来做一个milestone的,不管是不是release,都是一个可用的版本。这里,应该是只读的。更多的是一个显示用的,给人一个可读(readable)的标记。branch,是用来做并行开发的,这里的并行是指和trunk进行比较。比如,3.0开发完成,这个时候要做一个tag,tag_release_3_0,然后基于这个tag做release,比如安装程序等。trunk进入3.1的开发,但是3.0发现了bug,那么就需要基于tag_release_3_0做一个branch,branch_bugfix_3_0,基于这个branch进行bugfix,等到bugfix结束,做一个tag,tag_release_3_0_1,然后,根据需要决定branch_bugfix_3_0是否并入trunk。对于svn还要注意的一点,就是它是全局版本号,其实这个就是一个tag的标记,所以我们经常可以看到,什么什么release,基于xxx项目的2xxxx版本。就是这个意思了。但是,它还明确的给出一个tag的概念,就是因为这个更加的可读,毕竟记住tag_release_1_0要比记住一个很大的版本号容易的多。

branches:分枝
SVN中tag branch trunk的用法,首先看一下branches的介绍。当多个人合作,可能有这样的情况出现:John突然有个想法,跟原先的设计不太一致,可能是功能的添加或者日志格式的改进等等,总而言之,这个想法可能需要花一段时间来完成,而这个过程中,John的一些操作可能会影响Sally的工作,John从现有的状态单独出一个project的话,又不能及时得到Sally对已有代码做的修正,而且独立出来的话,John的尝试成功时,跟原来的合并也存在困难。这时最好的实践方法是使用branches。John建立一个自己的branch,然后在里面实验,必要的时候从Sally的trunk里取得更新,或者将自己的阶段成果汇集到trunk中。
(svncopySourceURL/trunkDestinationURL/branchName-m"Creatingaprivatebranchofxxxx/trunk.")

trunk:主干
主干,一般来说就是开发的主要呆的地方,
tag:  图标
在经过了一段时间的开发后,项目到达了一个里程碑阶段,你可能想记录这一阶段的代码的状态,那么你就需要给代码打上标签。
(svncpfile:///svnroot/mojavescripts/trunkfile:///svnroot/mojavescripts/tags/mirrorutils_rel_0_0_1-m"tagedmirrorutils_rel_0_0_1")另有一说,无所谓谁对谁错。
trunk:表示开发时版本存放的目录,即在开发阶段的代码都提交到该目录上。
branches:表示发布的版本存放的目录,即项目上线时发布的稳定版本存放在该目录中。
tags:表示标签存放的目录。
在这需要说明下分三个目录的原因,如果项目分为一期、二期、三期等,那么一期上线时的稳定版本就应该在一期完成时将代码copy到branches上,这样二期开发的代码就对一期的代码没有影响,如新增的模块就不会部署到生产环境上。而branches上的稳定的版本就是发布到生产环境上的代码,如果用户使用的过程中发现有bug,则只要在branches上修改该bug,修改完bug后再编译branches上最新的代码发布到生产环境即可。tags的作用是将在branches上修改的bug的代码合并到trunk上时创建个版本标识,以后branches上修改的bug代码再合并到trunk上时就从tags的version到branches最新的version合并到trunk,以保证前期修改的bug代码不会再合并。
-------------------------------------------------------------------------------------------
介绍SVN中tag branch trunk用法时,一直以来用svn只是当作cvs,也从来没有仔细看过文档,直到今天用到,才去翻看svnbook文档,惭愧
需求一:
有一个客户想对产品做定制,但是我们并不想修改原有的svn中trunk的代码。
方法:
用svn建立一个新的branches,从这个branche做为一个新的起点来开发
svncopysvn://server/trunksvn://server/branches/ep-m"initep"
Tip:
如果你的svn中以前没有branches这个的目录,只有trunk这个,你可以用
svnmkdirbranches新建个目录

需求二:
产品开发已经基本完成,并且通过很严格的测试,这时候我们就想发布给客户使用,发布我们的1.0版本
svncopysvn://server/trunksvn://server/tags/release-1.0-m"1.0released"咦,这个和branches有什么区别,好像啥区别也没有?
是的,branches和tags是一样的,都是目录,只是我们不会对这个release-1.0的tag做修改了,不再提交了,如果提交那么就是branches

需求三:
有一天,突然在trunk下的core中发现一个致命的bug,那么所有的branches一定也一样了,该怎么办?
svn-r148:149mergesvn://server/trunkbranches/ep其中148和149是两次修改的版本号。SVN中tag branch trunk用法介绍完毕。

CollabNet Subversion安装与配置实战指南 SVN 支持多种服务暴露方式,不同的运行模式直接影响安全性、扩展性和集成能力。理解其工作机制有助于做出合理的技术选型。authz支持组抽象,极大简化权限管理:[groups][/]* =[/docs]* = r语法说明:[groups]段声明组名与成员@groupname表示引用组代表所有其他用户rwr空值 = 无权限此结构支持嵌套组(需Apache支持),便于按部门、项目角色划分。 阅读详情

相关推荐

Windows环境下Collabnet_Subversion_Edge与Trac集成安装方法

Collabnet Subversion Edge版SVN服务器安装很省心而且免费,但是在这个上面再集成安装TRAC的时候,却会发现装不成功,经多次试验,总算找到了解决方法,实现了Collabnet Subversion Edge版SVN服务器与Trac的集成安装。 由于Collabnet Subversion Edge版SVN服务器用的也是Apache集成SVN,所以可以和TRAC使用同一套用户帐号,用户管理也因此方便多了。

SVN服务器配置

SVN安装后的目录位置及说明 ./var/opt/CollabNet_Subversion         //存放SVN的日志文件 ./opt/CollabNet_Subversion            //存放SVN的可执行程序 ./etc/opt/CollabNet_Subversion         //存放SVN的配置文件 比较有用的权限配置的文件就是 ./etc/opt/

dingyun00196932的专栏 824

CollabNetSubversionEdge-5.1.0_setup-x86_64

CollabNetSubversionEdge-5.1.0_setup-x86_64客户端官网地址,Subversion Edge 是一个版本控制软件的集成包,集成了包括 Subversion、Apache 和 ViewVC 三个软件。安装简单、管理方便。

CollabNetSubversionEdge错误集合

subversion client 不能连接到服务器,Unable to connect to a repository at URL一、现象 无论TortoiseSVN还是subclipse都不能连接到subversion server,想改密码也改不了。 报错:Unable to connect to a repository at URL,could not connect to serv

TX的博客 1330

collabnet subversion edge 2.2.1 setup.part2/2

Collabnet subversion edge 2.2.1 windows平台32位版本, 用来做版本控制服务器,免费、开源。

【ROS学习笔记】13.ROS中的坐标管理系统

文章目录1 机器人中的坐标变换2 TF功能包TF坐标变换如何实现?TF的一个小案例3 小程序:小海龟跟随实验打开小程序查看当前的TF树坐标相对位置关系可视化1(tf_echo)坐标相对位置关系可视化2(rviz) 本节学习ROS中的坐标管理系统。 (部分图摘自:b站【古月居】古月·ROS入门21讲) 1 机器人中的坐标变换 机器人运动学的核心,描述任意两个坐标系之中任意两个向量之间的变换,可以用一个4×4的变换矩阵(Transformation Matrices)来描述它的平移和旋转变化。 变换矩阵中有包括

takedachia的博客 4338

配置 collabnet subversion

collabnet subversion 1.6.12 配置 apache

四眼咕喱 1537

html python mysql交互_干货!Python与MySQL数据库的交互实战

安装PyMySQL库如果你想要使用python操作MySQL数据库,就必须先要安装pymysql库,这个库的安装很简单,直接使用pip install pymysql;假如这种方式还是安装不上,就用如下链接找一个合适的安装包,进行安装,这个就不细说了。https://www.lfd.uci.edu/~gohlke/pythonlibs/使用Python连接MySQL数据库1)六个常用的连接参数参数...

weixin_31043555的博客 1561

CollabNetSubversionEdge-1.3.1安装与配置 使用

1、双击CollabNetSubversionEdge-1.3.1_setup.exe按默认进行安装 2、安装完成后重启操作系统,否则SVN服务不能正常启动 3、通过http://localhost:3343/csvn访问管理界面,用户名密码为admin/admin。 CollabNet Subversion Edge使用 2010年12月21日 星期二 21:12 1...

の原為じ簡單 359

手把手教你用Proteus仿真51单片机抢答器:倒计时+蜂鸣器报警完整项目

本文详细介绍了使用Proteus软件仿真51单片机智能抢答器的完整项目流程。通过系统架构设计、核心元件选型(如74LS30用于按键中断编码),结合状态机编程,实现了带可调倒计时、数码管显示和蜂鸣器报警的八路抢答器功能。项目涵盖了从原理图绘制到代码调试的全过程,是学习嵌入式系统开发的绝佳实践。

tcp8optimizer的博客 263

嵌入式开发必备:UART、RS232、RS485通信协议实战对比(附代码示例)

本文从嵌入式开发实战角度,深度对比了UART、RS232和RS485三种核心串行通信协议。详细解析了它们的工作原理、硬件连接、代码配置及典型应用场景,并提供了基于通信距离、节点数量和电磁环境的三维度选型指南,帮助开发者根据项目需求做出最优技术决策。

i0j1k2l3m的博客 474

svn服务端异常处理--所有用户登录不上

-----------------------------------------建议每日自动备份配置文件------------------------------------------------3.打开VisualSVN-GlobalWinAuthz.ini搜索 http,将该条相关信息删除掉,然后重启svn服务即可正常使用;3.重启svn服务,尝试登录看是否正常,如正常需要排查其它账号密码是否保存了乱码。如遇svn服务端异常(所有用户登录不上);如上面方法不好用尝试用下述方法。

weixin_59450851的博客 737

STM32F407通过SMBus协议精准读取BQ40Z50电池电量

本文详细介绍了STM32F407通过SMBus协议精准读取BQ40Z50电池电量的实现方法。从硬件连接到软件驱动开发,再到通信异常排查,提供了完整的解决方案。重点解析了SMBus协议的特殊时序要求、GPIO模拟驱动的关键代码,以及实际调试中的常见问题与对策,帮助开发者高效完成电池管理系统开发。

weixin_29189003的博客 253

CollabNet Subversion的Windows安装及使用说明

目前最好用的Subversion堪称CollabNet版本,它集合了Subversion所需要一切资源(Apache等),无需单独安装第三方软件,且更新快,具备图形操作功能,方便使用。以下说一下CollabNet Subversion的Windows系统下简单安装及使用。

coolcoffee168的专栏 1万+

android 14.0 控制wifi启用禁用功能实现

在14.0的产品rom定制化开发中,在产品开发中,对于功能的开发的功能也是挺多的,而在对于wifi的功能定制需求,有要求需要通过系统属性来控制wifi开关是否可以打开 来控制是否可以连接wifi,打开控制wifi的功能,接下来分析wifi的开启流程来实现该功能的实现

安卓兼职framework和app工程师的博客 1771

华为面试手撕真题【最长不重复子串】

给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。

MISAYAONE的博客 1万+

SD NAND选型与嵌入式应用:从原理到量产避坑指南

在嵌入式系统中,NAND Flash虽容量大,但坏块管理、ECC校验和磨损均衡的实现门槛极高;而SD卡受限于物理触点、温度范围与品质一致性,难以满足工业级可靠性需求。SD NAND将NAND Flash裸片、控制器与被动元件封装为一体,对外提供标准SDIO接口,既免去了底层Flash管理复杂度,又规避了卡座引发的接触不良问题。其贴片式封装、宽温工作范围与即换即用的软件兼容性,使其成为工业数据采集、车载设备、IoT终端等中等容量存储场景的优选方案。本文结合工程实践,系统讲解SD NAND的容量规划、接口模式、

weixin_34242331的博客 493

EtherCAT主站教程3--适配伺服驱动器(模式配置)

目前通用的伺服驱动器的位置模式、速度模式以及其他模式是伺服系统中常见的控制模式,切换这些模式通常需要根据具体的伺服驱动器型号和控制协议(如EtherCAT、CANopen、Modbus等)进行配置。以下是这些模式的概述及切换方法的一般性指导:协议规范中,一共有以下几种模式:其中模式1、3、6对于比较常用,也更容易上手。

weixin_52626887的博客 793

使用svn(subversion)的一个注意点

今天玩了一下svn,没想到到把代码导入到仓库时,发生了如下错误:命令与错误信息:D:/>svn import E:/workspace/svnDemo/initproject file:///E:/workspace/svnDemo/repository -m "test import"svn: 无法打开地址(URL)的 ra_local 会话svn: 无法打开档案库“file:///E:

行云流水 6557

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

CollabNet Subversion Edge安装教程

为什么80%的码农都做不了架构师?>>> ...

weixin_34321753的博客 1267

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

linux 下 CollabNetSubVersion 的安装与配置

1.   在 linux 下 安装 java jdk 1.6.0_20   ,并修改 环境变量. (全局变量 :vi etc/profile 在末尾加上 export JAVA_HOME = /home/robertkun/svnServer/jdk1.6.0_21,然后运行 " . etc/profile "  执行当前脚本。。最后 shift + : , wq  退出 vi (q! 不保存退出)当前用户 : vi .bashrc))安装修改完毕以后 , 测试一下 :$JAVA_HOME/bi

迎风的舵手 2821

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

CollabNet Subversion

CollabNet Subversion 1.56 现在集成了Apache2.2.8,安装比以前方便不少。 1、安装CollabNet Subversion 2、打开C:\Program Files\CollabNet Subversion Server\httpd\conf\httpd.conf 文件 #找到<Location /svn>节点,修改内容为:&...

weixin_30357231的博客 301

SVN系统部署说明(CollabNet Subversion Edge + TortoiseSVN

对互联网公司而言,SVN的重要性不言而喻。本文选用CollabNet Subversion Edge作为SVN服务端和控制台,以TortoiseSVN作为客户端部署SVN系统。CollabNet Subversion Edge控制台功能十分强大,便于维护管理,且能采用LDAP认证方式,适合部署了内部域控的组织。而TortoiseSVN客户端的功能和性能有口皆碑,无需赘述。 一. 准备工作 虚拟...

kehana的博客 8081

SVN使用详细教程

SVN全称Subversion,是一个开放源代码的版本控制系统,Subversion 在 2000 年由 CollabNet Inc 开发,现在发展成为Apache软件基金会的一个项目,同样是一个丰富的开发者和用户社区的一部分。SVN是一个开放源代码的版本控制系统,管理着随时间改变的数据。这些数据放置在一个中央资料档案库(repository) 中。这个档案库很像一个普通的文件服务器, 不过它会记住每一次文件的变动。这样你就可以把档案恢复到旧的版本, 或是浏览文件的变动历史。...

顺其自然~专栏 6131

CollabNet Subversion Edge windows版 详解

1.官网http://www.collab.net/downloads/subversion/  下载CollabNetSubversionEdge-2.1.1_setup.exe,有96M多,与之前的版本CollabNetSubversion-server-1.6.11-3.win32.exe  相比大多了,不过现在的这个版本增加了一个svn的web管理界面csvn.可以方便的创建版本库,...

whxhz的专栏 2200

SVN(Subversion)的主干(trunk)、分支(branches)以及标记版本(tags)详解以及与AndroidStuidio的结合使用

一、前言: 很多人吐槽SVN的分支不像git那么好用。的确。但现在用SVN的用户也不在少数。所以我们可能也需要了解并使用SVN的分支管理。我在最初用SVN的时候,由于大部分项目是独立开发,所以也是只有一条主干代码,后来想到可能在管理起来尤其是与其他人合作开发分模块的时候可能更需要做一个分支管理,所以整理了这篇文章。 二、简述: 做分支管理要先明确三个概念: 1.trunk:可以理解为主...

mythmayor的博客 6574
上一篇: c++11 新风格(转)
下一篇: linux 各个系列介绍(转)
statdm
博客等级 码龄16年 195粉丝 75原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值