SVN学习

SVN学习

以下总结是看了一个b站up主的视频总结出来的。

1. 简介

SVN是代码版本管理工具,它能记住每次的修改、查看所有修改记录、恢复到任何历史版本和恢复已经删除的文件。
SVN比起Git的好处就是使用简单,上手快;具备目录级权限控制,用户只能访问指定目录下的文件;且子目录就可以检出(Checkout),减少不必要的文件检出。

SVN的基础操作:检出(checkout)、新增(add)、提交(commit)和更新(update)。

2. 冲突

产生冲突的原因:当多个人修改了同个文件的同一行或者是修改无法合并的二进制文件。

避免冲突的方法:

  1. 经常更新(update)同步下他人的代码,保证自己的代码是最新版本,避免跟他人的代码差别越来越大;
  2. 二进制文件不要多个人同时操作。

3. 分支

什么情况下需要开分支?

  1. 隔离线上版本和开发版本;
  2. 大功能开发时,不想影响到其他人,自己独立开个分支去开发,需要时再合并回去。

SVN的目录结构:

  1. trunk(主干) 主要用来存放开发中的文件,平常开发都在主干上
  2. branches(分支) 当要开发另外一个版本时,就可以开一个分支出去
  3. tags(标签)

如果分支越来越多,则要更新的东西就会越来越多。所以可以把分支单独checkout一份出来。

在我看完视频后,我的理解是这样的,以下这个理解不对:
我的理解是主干用来存储最新版本,然后分支可以存储多个版本,分支里有上线的最新版本,每次修改分支里的最新版本时,需要同步到主干上。

正确的理解是这样的:
在SVN中,主干和分支的区别如下:

  1. 使用场景:主干(trunk)通常用于主开发目录,而分支(branches)则用于各种特定用途,例如版本发布维护、新特性开发或缺陷修复等。分支比较灵活一些,可以存放一些历史版本或者一些文档,这些不用更新到主干上。
  2. 稳定性:在开发过程中,持续集成通常验证的是分支上的稳定性和正确性,而主干在发布完成后往往没有进行集成验证,因此主干可能存在一定的风险。(每次测试,会将某个分支或几个分支集成去测试,测试没问题就会往主干上去合并,所以测试是可以保证分支是没问题的。但是主干是多个分支合并上去的且没有去把主干拿出来去验证,所以相对来说主干是可能存在一定的风险的)
  3. 更新速度:主干的更新速度通常比分支快,因为主干是主开发目录,包含了最新的开发成果。而分支的更新速度根据具体使用场景而定。
  4. 重要性:主干上的代码通常是核心功能或主要功能,因此其重要性较高。而分支上的代码则根据具体使用场景而定,如果是用于修复缺陷的分支,其重要性可能较低。

4. 总结

  1. SVN使用的注意事项:
    使用SVN管理代码之前最好的顺序是先更新,再修改再提交,这样做可以避免发生冲突。

  2. 遇到的问题:
    为什么“SVN在提交之前要先更新修改,为什么这样做就可以避免冲突”?
    经过反复研究后发现,当自己本地的代码没有先更新的情况下,这时自己修改完自己的代码,而SVN服务器上的代码恰好别人又已经更新了另外的版本时,这时要是点提交就会发生冲突,所以当我们要修改代码之前最后就是先更新一下自己本地的代码,确保本地的代码是最新版本,这时修改完再去提交就比较能避免冲突。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【LeetCode每日一题】——1572.矩阵对角线元素的和

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 矩阵 二【题目难度】 简单 三【题目编号】 1572.矩阵对角线元素的和 四【题目描述】 给你一…

交换机VLAN技术和实验(eNSP)

目录 一,交换机的演变 1.1,最小网络单元 1.2,中继器(物理层) 1.3,集线器(物理层) 1.4,网桥(数据链路层) 二,交换机的工作行为 2.…

【计算机视觉中的 GAN 】如何稳定GAN训练(3)

一、说明 在上一篇文章中,我们达到了理解未配对图像到图像翻译的地步。尽管如此,在实现自己的超酷深度GAN模型之前,您必须了解一些非常重要的概念。如本文所提的GAN模型新成员的引入:Wasserstein distance,boundary eq…

AI 绘画Stable Diffusion 研究(一)sd整合包v4.2 版本安装说明

部署包作者:秋葉aaaki 免责声明: 本安装包及启动器免费提供 无任何盈利目的 大家好,我是风雨无阻。众所周知,StableDiffusion 是非常强大的AI绘图工具,需要详细了解StableDiffusion的朋友,可查看我之前的这篇文章: 最…

【机器学习】Feature scaling and Learning Rate (Multi-variable)

Feature scaling and Learning Rate 1、数据集2、学习率2.1 α \alpha α 9.9e-72.2 α \alpha α 9e-72.3 α \alpha α 1e-7 3、特征缩放3.1 特征缩放的原因3.2 Z-score 归一化3.3 预测3.4 损失等值线 导入所需的库 import numpy as np np.set_printoptions(precision…

sqlserver 使用SQLOLEDB 远程数据库同步数据

exec sp_addlinkedserver remote_server, , SQLOLEDB, ip exec sp_addlinkedsrvlogin remote_server, false,null, 账号, 密码 --查询方式 select * from remote_server.数据库名.dbo.表名 --不再使用时删除链接服务器 exec sp_dropserver remote_server, droplogins…

Oracle免费在线编程:Oracle APEX

前提: 注意:你要有个梯子才能更稳定的访问。 不需要安装Oracle,但是需要注册。(还算方便的) 注册&登录过程 进入Oracle APEX官网,我们选择免费的APEX工作区即可,点击“免费注册”。在注册…

DASCTF 2023 0X401七月暑期挑战赛web复现

目录 <1> Web (1) EzFlask(python原型链污染&flask-pin) (2) MyPicDisk(xpath注入&文件名注入) (3) ez_cms(pearcmd文件包含) (4) ez_py(django框架 session处pickle反序列化) <1> Web (1) EzFlask(python原型链污染&flask-pin) 进入题目 得到源…

软件设计师(五)软件工程基础知识

一、软件工程概述 软件开发和维护过程中所遇到的各种问题称为“软件危机”。 软件工程是指应用计算机科学、数学及管理科学等原理&#xff0c;以工程化的原则和方法来解决软件问题的工程&#xff0c;其目的是提高软件生产率、提高软件质量、降低软件成本。 #mermaid-svg-h3j6K…

基于Jenkins+Python+Ubuntu+Docker的接口/UI自动化测试环境部署详细过程

基于JenkinsPythonUbuntuDocker的接口/UI自动化测试环境部署详细过程 1 Jenkins是什么&#xff1f;2 Jenkins目标是什么&#xff1f;3 什么是CI/CD?3.1 CI持续集成3.2 CD持续部署3.3 CD持续交付 4 Ubuntu环境4.1 环境需求4.2 实现思路 5 Ubuntu下安装Docker6 安装Jenkins6.1 拉…

基于Vue+ElementUI+Echarts+G2Plot的仪表盘设计器,代码完全开源

简介 &#x1f525;DashBoard基于SpringBoot、MyBatisPlus、ElementUI、G2Plot、Echarts等技术栈的仪表盘设计器&#xff0c;具备仪表盘设计、预览、资源管理、组件管理等能力&#xff0c;支持JSON、MySQL、Oracle、PostgreSQL、HTTP、JavaScript、Groovy等数据集接入&#xf…

【LeetCode每日一题】——807.保持城市天际线

文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时间频度】九【代码实现】十【提交结果】 一【题目类别】 矩阵 二【题目难度】 中等 三【题目编号】 1572.矩阵对角线元素的和 四【题目描述】 给你一…

Pytorch学习笔记 | 构建神经网络模型 | 提升效果的优化方法

数据集下载 Python深度学习018:MNIST数据集下载 | 将数值型数据转化成图片 代码 import pandas as pd import matplotlib.pyplot as plt import torch import torch.nn as nn from torch.utils.data import Dataset# 构建一个神经网络分类器 class Classifier(nn

windows系统中的命令行可以用python,pip等命令(已在系统中添加过python环境变量),但是pycharm的terminal中无法使用。

如果你已经在Windows系统中添加了Python环境变量&#xff0c;那么在命令行中使用python和pip命令应该是没有问题的。但是在PyCharm的Terminal中无法使用这些命令&#xff0c;可能是因为PyCharm的Terminal使用的是自己的虚拟环境&#xff0c;而不是系统环境。 你可以尝试在PyCh…

react路由在layout中的监听

业务中需要在layout里来监听路由的变化&#xff0c;但是layout并不是一个路由组件&#xff0c;所以layout组件内的props并没有location,history等属性&#xff0c;&#xff08;路由组件&#xff1a;由Route组件处理的才是路由组件&#xff09;所以我们需要将layout组件转变成路…

PowerDesigner中table视图显示code与name

问题描述 使用PowerDesigner做数据库设计&#xff0c;要做评审&#xff0c;默认整体效果没有name显示&#xff0c;很不方便 1、右键单击&#xff0c;选择display 2、table->advanced 3、设置columns&#xff0c;点击右边的放大镜 4、自定义你需要显示的组件 效果图

性能测试/负载测试/压力测试之间的区别

做测试一年多来&#xff0c;虽然平时的工作都能很好的完成&#xff0c;但最近突然发现自己在关于测试的整体知识体系上面的了解很是欠缺&#xff0c;所以&#xff0c;在工作之余也做了一些测试方面的知识的补充。不足之处&#xff0c;还请大家多多交流&#xff0c;互相学习。 …

python-网络爬虫.BS4

BS4 Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库&#xff0c; 它能够通过你喜欢的转换器实现惯用的文档导航、查找、修改文档的方 式。 Beautiful Soup 4 官方文档&#xff1a;https://www.crummy.com/software/BeautifulSoup/bs4/doc.zh/ 帮助手册&…

Appium+python自动化(三十五)- 命令启动appium之 appium服务命令行参数(超详解)

简介 前边介绍的都是通过按钮点击启动按钮来启动appium服务&#xff0c;有的小伙伴或者童鞋们乍一听可能不信&#xff0c;或者会问如何通过命令行启动appium服务呢&#xff1f;且听一一道来。 一睹为快 其实相当的简单&#xff0c;不看不知道&#xff0c;一看吓一跳&#xf…

Docker 容器常用的命令和操作

1.容器操作 - 运行容器: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] 示例&#xff1a; docker run -it --rm ubuntu /bin/bash - 查看正在运行的容器: docker ps [OPTIONS] 示例&#xff1a; docker ps -a - 停止容器: docker stop CONTAINER [CONTAINER...] 示…