SVN创建分支,分支合并,切换分支。通俗易懂

1、首先在svnbucket.com远程仓库上创建项目,这里我创建了个测试demo:

2、先把svn仓库的项目检出到自己的文件夹,我这里是demo001文件夹,此时并没有创建truck, branches, tags这三个目录:

3、 在demo001文件夹里新建truck, branches, tags这三个文件夹(如果在svnbucket上创建项目的时候勾选上,可忽略创建步骤),然后把已有的仓库代码拉到truck文件夹下:

这里再说明一下 truck, branches, tags 这三个文件夹目录的作用:

truck(主干|主分支):一般把项目提交到此文件夹里面,在truck中开发,如新功能的开发等。

branches(分支):一般把那些需要打分支,有可能会修改的项目代码,打分支到此目录,这个分支开发可以和主分支开发同时进行,并行开发,branch分支通常用于修复bug使用。

tags(标记分支):一般放那些阶段性(迭代)的项目代码,打分支到此目录。标记已经上线发布的版本,也可以笔记正在测试的版本,通常是只读。

4、提交修改,把代码拉到truck文件夹后,在demo001文件夹下空白处提交到远程:

提交后:

 

 此时,在svnbucket上,项目结构也被修改了:

5、 我这里是在truck 主分支上开发,开发完后,版本存储在branches上。

5.1、接下来写代码就在各自的分支上完成,比如现在在truck分支上开发完了,准备上线,这是在truck文件夹上开个线上版本,操作:TortoiseSVN -> 分支/标记

5.2、在新弹出的弹窗选择打分支的路径,注意要在主干分支上打分支,点击...符号选择: 

5.3、在新弹窗选择branches分支 

 5.4、在新弹窗中的/branches路径下添加一个版本路径,我这里是onlinev1.0,然后填写日志信息,选择版本库中最新版本作为本版本的起点,最后点确定:

 5.5、这样分支就创建完成了,操作成功如下图:

 5.6、此时branches里面还没有文件,要在demo001文件夹空白处通过TortoiseSVN更新,更新完就有了。现在是跟主干是一样的。

 

 

6、有个问题,如果以后分支越来越多,更新的内容就越来越多,所以可以把onlinev1.0分支单独checkout检出 出来。

6.1、在onlinev1.0文件夹上右键,属性,

复制URL地址 

 

6.2、回到 demo001文件夹同级目录下,右键检出:

完成上面步骤后,就把demo001下的branches下的onlinev1.0版本单独检出到根目录,如图:

同理,把 demo001下的主干分支truck 也单独检出到根目录下,检出后可删除demo001文件夹了,demo001是包含所有主干和分支的:

7、现在主干和分支,他们相互之间是不影响的:

7.1、修改主干truck下的src下的home.vue文件,并提交:

7.2、在 demo001-online上更新,然后进去看下home.vue文件,发现并没有改变,所以两个分支互不影响:

所以我们就可以把demo001-online 作为一个线上版本,这个版本只做一些线上问题的修复。

比如,现在发现 demo001-online 上的home.vue组件,div>{{ count }} 没有值,改成 div>{{ obj.count }}。把线上bug修复,并提交:

线上版本修复了,但是主干版本还没修复,更新也没同步过来,这时可以把线上版本合并到主干版本上,右键demo001-online文件夹 ,  点击显示日志

在日志信息里面右击修复bug的那个版本, 选择 合并版本到...,然后在弹窗里面找到并选择demo001-truck文件夹,点确定就能合并到demo001-truck版本上了。

这是发现 demo001-truck 已编辑,提交一下。提交的时候,可以发现修复的bug代买已经合并过来了。提交的时候可以点击最近信息,自动合成合并信息,再提交。

  

8、再开一个分支。

根据之前步骤,再开一个onlinev2.0分支。然后直接在demo001-online上右键,点切换,然后可以再里面的下拉找到 /branches/onlinev2.0,选择并确定。

然后回到根目录上,右键 demo001-online 属性,可以发现路径切换到2.0版本,也就是分支切换到了onlinev2.0版本。

以上就是SVN分支的切换。后面继续在主干上进行开发,不断地创建分支。

查看仓库的目录结构:(demo001-online里面,右键,版本库浏览器)

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/646363.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电量计量芯片HLW8110的前端电路设计与误差分析校正.pdf 下载

电量计量芯片HLW8110的前端电路设计与误差分析校正.pdf 下载地址: 链接:https://pan.baidu.com/s/1vlCtC3LGFMzYpSUUDY-tEg 提取码:8110

氢燃料电池汽车行业发展

文章目录 前言 市场分布 整车销售 发动机配套 氢气供应 发展动能 参考文献 前言 见《氢燃料电池技术综述》 见《燃料电池工作原理详解》 见《燃料电池发电系统详解》 见《燃料电池电动汽车详解》 市场分布 纵观全球的燃料电池汽车市场,截至2022年底&#xff…

微信小程序基础 --模板语法(4)

模板语法 1、wxml视图结构 1.1 概述 开发文档:https://developers.weixin.qq.com/miniprogram/dev/framework/quickstart/code.html#WXML-%E6%A8%A1%E6%9D%BF 从事过网页编程的人知道,网页编程采用的是 HTML CSS JS 这样的组合,其中 HT…

2010-2024年别克维修手册和电路图线路接线图资料更新

经过整理,2010-2024年别克汽车全系列已经更新至汽修帮手资料库内,覆盖市面上99%车型,包括维修手册、电路图、新车特征、车身钣金维修数据、全车拆装、扭力、发动机大修、发动机正时、保养、电路图、针脚定义、模块传感器、保险丝盒图解对照表…

类的内存对齐位段位图布隆过滤器哈希切割一致性哈希

文章目录 一、类的内存对齐1.1规则1.2原因 二、位段2.1介绍2.2内存分配问题2.3跨平台问题2.4使用的注意事项 三、位图的应用3.1 给40亿个不重复的无符号整数,找给定的一个数。(int的范围可以到达42亿多)3.2 给定100亿个整数,设计算…

Linux文件系统原理

Linux文件系统 冯诺依曼在1945年提出计算机的五大组成部分 运算器:CPU 控制器:CPU 存储器:内存和硬盘 输入设备:鼠标、硬盘 输出设备:显示器一、硬盘结构 机械硬盘结构 扇区:硬盘的最小存储单位&#xff…

【JAVASE】抽象类

1、抽象类概念 在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并不是所有的类都是用来描绘对象的,如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类。比如: 说明&a…

基础IO用户缓冲区 、inode、硬软链接【Linux】

文章目录 用户缓冲区磁盘磁盘分区EXT2文件系统的存储方案 inode软链接硬链接 用户缓冲区 代码一&#xff1a; 1 #include<stdio.h>2 #include<unistd.h>3 #include<string.h> 4 int main()5 {6 const char * fstr &…

Linux下的调试器 : gdb指令详解

&#x1fa90;&#x1fa90;&#x1fa90;欢迎来到程序员餐厅&#x1f4ab;&#x1f4ab;&#x1f4ab; 主厨&#xff1a;邪王真眼 主厨的主页&#xff1a;Chef‘s blog 所属专栏&#xff1a;青果大战linux 总有光环在陨落&#xff0c;总有新星在闪烁 gdb是什么 gdn是linu…

SQL注入:原理及示例讲解,配置mysql环境变量,pikachu靶场搭建

SQL注入原理 SQL注入&#xff08;SQL Injection&#xff09;是一种代码注入技术&#xff0c;攻击者通过将恶意的SQL代码插入到应用程序的输入字段中&#xff0c;诱使后台数据库执行这些恶意代码&#xff0c;从而对数据库进行未授权的操作。常见的操作包括获取敏感数据、篡改数…

Liunx基本指令以及权限(个人笔记)

Linux指令和权限 1.指令1.1ls指令1.2pwd命令1.3cd指令1.4touch指令1.5mkdir指令1.6rm指令1.7man指令1.8cp指令1.9mv指令1.10cat指令1.11less指令1.12head指令1.13tail指令1.14date显示1.15Cal指令1.16find指令1.17grep指令1.18zip/unzip指令1.19tar指令1.20bc指令1.21uname -r指…

Python数据可视化(五)

实现GUI效果 借助 matplotlib&#xff0c;除可以绘制动画内容外&#xff0c;还可以实现用户图形界面的效果&#xff0c;也就是 GUI 效果。 GUI是用户使用界面的英文单词首字母的缩写。接下来&#xff0c;我们就以模块widgets中的类RadioButtons、 Cursor 和 CheckButtons 的使用…

属于程序员的浪漫,一颗会跳动的心!!!

绘制一颗会跳动的心❤ 嘿嘿 可以说是程序员的专属浪漫了吧&#xff0c;就像点燃一颗LED灯一样&#xff1f;&#xff08;我瞎说的啊&#xff0c;大家别当真&#xff0c;我很菜的&#xff01;&#xff01;&#xff01;&#xff01;&#xff09; 程序就在下面啦&#xff0c;然…

​✨聚梦AI绘图插件-for photoshop(基于ComfyUI) 内测版V0.1发布

&#x1f388;背景 photoshop本身是有AI生成能力的&#xff0c;不过限于种种原因&#xff0c;国内使用很不方便。 photoshop也是有AI插件的&#xff0c;不过大多安装起来比较复杂&#xff0c;或者&#xff0c;干脆就会收费。 所以我们做了一个免费的AI插件&#xff0c;期望能…

Vue.js条件渲染与列表渲染指南

title: Vue.js条件渲染与列表渲染指南 date: 2024/5/26 20:11:49 updated: 2024/5/26 20:11:49 categories: 前端开发 tags: VueJS前端开发数据绑定列表渲染状态管理路由配置性能优化 第1章&#xff1a;Vue.js基础与环境设置 1.1 Vue.js简介 Vue.js (读音&#xff1a;/vju…

如同“水生态”的存储引擎|OceanBase数据转储合并技术解读(一)

本系列文章主要围绕 OceanBase数据库存储引擎中的转储合并进行解读&#xff0c;涉及到数据存储、转储合并、数据校验等方面的内容&#xff0c;旨在让读者了解OceanBase数据库的存储引擎中与转储合并有关的各种概念&#xff0c;帮助读者更好地理解OceanBase数据库的存储技术原理…

20240526怎样将windows的屏幕复制到第二屏

百度&#xff1a;WIN10 第二显示器 COPY https://zhidao.baidu.com/question/761454546683111004.html 20240526怎样将windows的屏幕复制到第二屏  我来答 分享 举报 2个回答#热议# 海关有哪些禁运商品&#xff1f;查到后怎么办&#xff1f; 华硕服务 2022-07-05 百度认证:…

C++模板——函数模板和类模板

目录 泛型编程 函数模板 函数模板概念 函数模板的定义和语法 函数模板的工作原理 函数模板的实例化 隐式实例化 显示实例化 函数模板的匹配原则 类模板 类模板的定义格式 类模板的实例化 泛型编程 什么是泛型编程&#xff1f; 泛型编程&#xff08;Generic Pr…

Sam Altman微软Build 2024最新演讲:AI可能是下一个移动互联网

大家好&#xff0c;我是木易&#xff0c;一个持续关注AI领域的互联网技术产品经理&#xff0c;国内Top2本科&#xff0c;美国Top10 CS研究生&#xff0c;MBA。我坚信AI是普通人变强的“外挂”&#xff0c;所以创建了“AI信息Gap”这个公众号&#xff0c;专注于分享AI全维度知识…

gfast:基于全新Go Frame 2.3+Vue3+Element Plus构建的全栈前后端分离管理系统

gfast&#xff1a;基于全新Go Frame 2.3Vue3Element Plus构建的全栈前后端分离管理系统 随着信息技术的飞速发展和数字化转型的深入&#xff0c;后台管理系统在企业信息化建设中扮演着越来越重要的角色。为了满足市场对于高效、灵活、安全后台管理系统的需求&#xff0c;gfast应…