【SVN】在Windows系统上进行SVN的基本操作(检出,更新,提交,分支合并分支,还原,制造冲突以及解决冲突,忽略)

news2024/12/28 20:02:33

介绍

这里是小编成长之路的历程,也是小编的学习之路。希望和各位大佬们一起成长!

以下为小编最喜欢的两句话:

要有最朴素的生活和最遥远的梦想,即使明天天寒地冻,山高水远,路远马亡。

一个人为什么要努力? 我见过最好的答案就是:因为我喜欢的东西都很贵,我想去的地方都很远,我爱的人超完美。因此,小编想说:共勉!

目录

一、检出

二、提交

 三、更新

四、制造冲突以及解决冲突

1、制造冲突

 2、解决冲突

方法一:

方法二:

方法三:

方法四:

 五、分支合并分支

1、创建分支

 在trunk中创建主程序.txt,并提交 

创建分支

去分支branches中更新

 2、合并分支

 在主程序中合并分支

六、还原

七、忽略


一、检出

右键点击桌面或者空白页面

因为小编在该服务端地址下已经使用账号登录过了,所以点击确定不会出现下一步了。

如果是第一次检出的话,就会出现以下页面

 完成上述步骤就会出现下图的页面

如果没有出现图标,可以去看小编的另一篇博客【SVN已解决】svn下载成功图标不显示解决方法_determine ZandR的博客-CSDN博客)

注意:如果在进行其他的操作(除了第一次检出),没有出现svn的图标,可以返回上一级,再进来就会出现图标了

二、提交

 在该文件夹下创建一个文本文档,因为现在是做案例,还没有到真正做项目的时候,所以这个地方创建文件是可以随意的(在真实做项目的时候,这里面文件的命名不能是中文,所以在平时做案例的时候,可以尽量做到规范,这样的话,做项目的时候才不会犯低级错误)

右键点击空白页面或者选中该文件进行提交(选中该文件进行提交是提交这一个文件,点击空白页面提交是提交所有未提交文件

完成以上步骤就提交成功了!

提交成功就会出现下图界面,刚刚提交的a.txt也会有一个svn的绿色图标 

 

 三、更新

更新可以更新你同伴的提交的代码(在实际项目中是两台不同的电脑、两个不同的人因为是做案例演示分别使用两个不同文件夹或者不同账号提交再更新,小编这里演示使用两个不同文件夹提交然后再更新)重复检出的步骤,创建一个文件夹svn-test02

 在两个文件夹中分别创建b.txt   c.txt

 分别在两个文件夹中提交

 可以看到上图两个文件夹中的文件是不一样的,然后再分别在两个文件夹中更新,这样两个文件夹中的文件就是一样的了,如下图:

 完成上述操作就可以完成更新操作了(可以将同伴的代码全部更新到你自己的文件夹来)

四、制造冲突以及解决冲突

小编也是同上面更新一样使用两个不同的文件夹(在实际项目中是两个人(两台电脑)在操作同一个文件才会发生冲突)

1、制造冲突

在test02的c.txt中写入1111111 

 在test01的c.txt中写入222222

提交test02

 更新test01

 更新完成就会发生错误

 就会出现下面的文件 

c.txt.mine 你当前文件夹下面加入内容的代码

c.txt.r22 在该文件夹没加入内容之前的初始版本

c.txt.r23 和你发生冲突的代码,也是服务器更新后的版本(你同伴也修改了这个代码,然后你没有更新就修改了,修改后再更新就会发生冲突)

 2、解决冲突

方法一:

放弃自己的更新,使用文件还原,然后提交。在这种方式下不需要使用svn resolved(解决) (还原之前记得备份自己的代码)

方法二:

放弃自己的更新,使用别人的更新。使用最新获取的版本覆盖目标文件,并提交

 可以查看日志看你自己所需要的版本

点击上图中显示日志,可以选择你所需要的版本

再一直点击确定!

方法三:

手动解决:冲突发生时,通过和其他用户沟通之后,点击解决手动更新目标文件,然后提交。

右击有三角形感叹号的冲突文件


 

 

完成上述操作就会出现下图一样的,代表冲突文件不见了。

 点进去c.txt就可以看到下图像乱码一样的内容

 将乱码(>>>>>>>是代表冲突的地方)去掉,保存,再提交

test02进行svn更新,这样两边的c.txt文件就是一样的了,如下图:

 

方法四:

点击解决冲突

点击解决冲突,出现如下界面

 

 

再看test01文件的时候,就会出现下图

 

点进去看,没有乱码,也没有错误提示,而且两边修改的内容都在里面

 

 点击提交

 然后再在test02更新,最终出现如下图界面

 代表冲突解决,以上就是解决冲突的四种方法

以下为svn一些图标的意思

 五、分支合并分支

Trunk 主干(树干)  branches分支(树枝)tags标签(整棵树)  tags标签(整棵树)


trunk用于主线开发
branches用于定制版本、修复bugs、并行开发等使用
tags用于存放release版本,阶段性代码,不用于修改和commit[备份]


branches用于定制版本、修复bugs、并行开发等使用tags用于存放release版本,阶段性代码,不用于修改和commit[备份]

在branches开发时,要时常从trunk 中更新到branches中,用于同步

当 branches开发完成时,就可以将 branches 重新merge到trunk 中

 选择在test01或者在test02中

小编是选择在test01中进行案例操作

1、创建分支

 

点击空白页面提交

 

 在trunk中创建主程序.txt,并提交 

创建分支

 

 

 

 

去分支branches中更新

 

 

 2、合并分支

在分支branches中主程序分支一中输入内容

 保存之后并提交

 在主程序中合并分支

右击truck中的主程序选择合并

 

 

 

 ​​​​​​​

合并完成后就提交,然后点入主程序就可以看到之前在分支一中输入的内容了

 

 完成上述操作,就差不多完成了分支和合并分支了

六、还原

在一个文件中输入内容

就会显示红色的,表示修改过了

右击文件选择SVN还原 

最后显示未修改之前的内容

 以上步骤就是还原操作

七、忽略

忽略文件的上传,修改或者刚创建的文件都可忽略,这样就不需要提交,也没有svn的图标

 忽略了之后记得提交

修改之后,再重复上述操作进行忽略

以上就是小编所实践的内容,希望能够帮助到大家,感谢各位大佬的观看!!!

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

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

相关文章

其实苹果知道自己离不开中国制造,因此悄悄给自己留了后路

苹果在加速离开中国,不过从苹果的做法却又可以看到它其实很清醒地认识到无法离开中国制造,因此它在力推印度制造的时候,其实并没拼尽全力,深刻认识到印度制造和印度市场与中国的差距。 一、印度制造和印度市场与中国的差距 2022年…

防雷知识:什么是雷电浪涌

浪涌是突然发生并超过典型工作电压的过电压。一般来说,浪涌是电路中短暂的电流、电压或功率波。今天我们就来科普一下什么是雷电浪涌。 什么是浪涌? 浪涌,顾名思义,是一种突然发生并超过典型工作电压的过电压。一般来说&#xf…

工具链和其他-异步模块加载

目录 CMD/AMD Asynchronous Module Definition(AMD异步模块定义,语法风格) Common Module Definition ES6/CommonJS CommonJS ES6 Module 加载器示例 总结 cmd和amd的区别 现在有哪些异步加载方式 整体结构 编程:commonjs es6 module (有可能解…

基于STM32和oneNET云平台的数据采集系统(MQTT协议)

文章目录 前言一、onenet云平台产品创建二、硬件选择三、设计理念四、实战编程1. 传感器部分2. ESP82663. 定时器4. 串口5. MQTT 五、进阶练习 前言 该篇为基于stm32esp8266通过mqtt协议连接onenet物联网云平台,单片机部分将采集到的数据(温湿度、光照强度、压强等…

DX云音乐(安卓)

首先,软件安装好不用注册登录就可以直接使用,在首页这里有很多推荐的热门歌单,比如,有年度热门的DJ歌曲,有抖音热门DJ,有各种跨年晚会,有运动必备的DGM,有90后的经典旋律等等。 还有…

php+vue 校友交流平台

1.普通用户功能分析 (1)用户注册:用于注册校友录用户。 (2)用户登录:供校友录用户登录。 (3)资料修改:修改当前登录使用者信息。 (4)…

MQTT 5协议中的基础更改(一)

01 协议的基础性变化 MQTT 5是对现有协议规范的重大更新,新版本协议具有以下特征:轻量级、易用性、极强的可扩展性、对移动网络的适用性以及通信参与者的解耦。 02 MQTT仍然是MQTT 如果您熟悉MQTT3.1.1,那么您之前知道的关于MQTT的所有原则…

通用策略03丨RUMI魔改+krange自适应第3版

量化策略开发,高质量社群,交易思路分享等相关内容 正 文 大家好,今天我们分享2023年度第3期策略——RUMI魔改krange自适应离场第3版迭代。 本期策略是2023年通用系列第3篇。本期主要内容有对RUMI原版的逻辑魔改,其次重点针对kra…

关于Open Shift(OKD) 中 用户认证、权限管理、SCC 管理的一些笔记

写在前面 因为参加考试,会陆续分享一些 OpenShift 的笔记博文内容为 openshift 用户认证和权限管理以及 scc 管理相关笔记学习环境为 openshift v3 的版本,有些旧这里如果专门学习 openshift ,建议学习 v4 版本理解不足小伙伴帮忙指正 对每个…

数据库管理新定义:一款纯Web化免费SQL开发工具,免安装

SQL Studio是一款由麦聪软件研发的多数据库管理工具,提供Windows、Linux 和 MacOS三种版本的软件包,支持中英文两种语言。SQL Studio是用Java编写的,默认使用 JDK 8进行编译。 下载看这里: [SQLStudio] (http://www.maicongs.com/#/home/web)…

云HIS(二级医院,乡镇医院,民营医院,标准化HIS医院信息管理系统源码)

传统 HIS(基于医院信息系统) 和云 HIS(基于云计算的医院信息系统)各有优缺点,选择哪种系统需要根据具体情况进行权衡。 传统 HIS 系统通常由医院自行开发和维护,适用于医院内部信息化程度较高、数据安全性…

Sql 优化工具

1、背景 对于正在运行的mysql 性能如何?参数设置的是否合理?账号设置的是否存在安全隐患? 对于Sql执行效率又如何?如何了然于胸? show profile, explain,slow query log ,索引优化&#xff0…

【切负荷】计及切负荷和直流潮流(DC-OPF)风-火-储经济调度模型研究【IEEE24节点】(Python代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

Qt实现滑动条平滑效果

效果图 基于QPropertyAnimation实现 代码部分 //设置滑动条动画 m_scrollAnimationnew QPropertyAnimation; m_scrollAnimation->setTargetObject(this); m_scrollAnimation->setPropertyName("value"); m_scrollAnimation->setEasingCurve(QEasingCurve:…

如何在已创建的SpringBoot项目基础上添加依赖

假设此时已经创建了一个SpringBoot项目,在使用的时候发现缺少 lombok 依赖,此时如何在不创建新项目的基础上添加该依赖?有两种方式: 通过Maven中央仓库导入依赖使用插件EditStarters导入依赖 1,通过Maven中央仓库导入依…

CVE-2023-21839 Weblogic远程代码执行漏洞复现

目录 0x01 声明: 0x02 简介: 0x03 漏洞概述: 0x04 影响版本: 0x05 环境搭建: Docker环境搭建: 漏洞环境搭建: 1、编辑docker-compose.yml 2、启动docker 3、访问页面: 0x…

PM不想做项目管理了,还能干点啥?

做项目经理太累了! 那么 不做项目经理还能做什么呢? 01 铁锅批发商 毕竟 当项目经理的时候 已经囤积了成百上千口锅 十年背锅经验不是瞎吹 并且可现场演示铁锅烙饼 老板亲授,真实还原,充饥必备 02 Office优化师 当项目…

Gradio入门到进阶全网最详细教程[一]:快速搭建AI算法可视化部署演示(侧重项目搭建和案例分享)

常用的两款AI可视化交互应用比较: Gradio Gradio的优势在于易用性,代码结构相比Streamlit简单,只需简单定义输入和输出接口即可快速构建简单的交互页面,更轻松部署模型。适合场景相对简单,想要快速部署应用的开发者。 …

43岁程序员,投了上万份简历都已读不回,只好把年龄改成40岁,这才有了面试机会,拿到了offer!...

40多岁找工作有多难? 一位43岁的程序员讲述了自己找工作的经历: 80年,大专,目前没到43周岁,年前被裁,简历上的年龄是42岁,两个多月投了上万份简历,99.5%是已读未回。后来改变策略把简…