介绍

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

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

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

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

目录

一、检出

二、提交

三、更新

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

1、制造冲突

2、解决冲突

方法一:

方法二:

方法三:

方法四:

3、如何降低冲突解决的复杂度

五、分支合并分支

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一些图标的意思

3、如何降低冲突解决的复杂度

1、当文档编辑完成后,尽快提交,频繁的提交/更新可以降低在冲突发生的概率,以及发生时解决冲突的复杂度。

2、在提交时,写上明确的message,方便以后查找用户更新的原因,毕竟随着时间的推移,对当初更新的原因有可能会遗忘

3、养成良好的使用习惯,使用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、创建分支

补充:

在使用 SVN 进行分支管理时,通常会创建三个文件夹,它们分别是:

1. trunk:代表主干,主要存放开发的主要代码,也就是项目的最新代码。所有的开发人员都会在 trunk 上开发自己的任务。

2. branches:代表分支,分支是在 trunk 上创建的一个副本,用于开发新特性或者修复的 bug,不影响主干代码。

3. tags:代表标签,标签是一个静态的副本,用于记录项目的里程碑或者发布版本。通常情况下,tags 中的代码不允许被修改。

这三个文件夹在 SVN 中非常重要,它们为项目开发提供了非常灵活且高效的分支管理方式。

点击空白页面提交

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

创建分支

去分支branches中更新

2、合并分支

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

保存之后并提交

在主程序中合并分支

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

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

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

六、还原

在一个文件中输入内容

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

右击文件选择SVN还原

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

以上步骤就是还原操作

七、忽略

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

忽略了之后记得提交

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

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

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

  1. linux服务器上svn的log_Linux服务器上搭建svn服务器

    背景 项目开发中需要版本控制,而我们经常使用的是在windows系统上搭建svn服务器,下面介绍在Linux系统(CentOs)上搭建svn服务器. 1. 使用yum安装svn 使用yum安装svn, ...

  2. SVN服务器安装 - Windows系统

    文章目录 前言 1 下载安装 1.1 下载安装包 1.2 软件安装 1.3 异常处理 2 仓库创建 3 权限分配 前言 Windows系统下SVN服务器搭建及遇到相关问题和处理方法记录 1 下载安装 ...

  3. Redis进阶实践之三如何在Windows系统上安装安装Redis

    一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset( ...

  4. 如何在windows系统上安装ubuntu双系统

    如何在windows系统上安装ubuntu双系统 一.准备工具: 1.U盘 2.软碟通:UltraISO,EasyBCD 3.系统镜像.下载网址1:https://www.ubuntu.com/dow ...

  5. 如何在Windows系统上使用Object Detection API训练自己的数据?

    前言 之前写了一篇如何在windows系统上安装Tensorflow Object Detection API?(点击跳转) 然后就想着把数据集换成自己的数据集进行训练得到自己的目标检测模型.动手之前 ...

  6. linux编辑文档windows,1.9vim编辑器linux内核的底层文本编辑器,跟windows系统上的文本文档类似,大部分用这个工具进行文本的编辑,这个工具的操作方式基本上用不到鼠标,多是...

    1.9vim编辑器 linux内核的底层文本编辑器,跟windows系统上的文本文档类似,大部分用这个工具进行文本的编辑,这个工具的操作方式基本上用不到鼠标,多是用命令去操作 这个工具分为三种模式:命 ...

  7. windows系统上使用openssh client连接远程Linux服务器的日志分析

    在windows系统上使用ssh进行远程连接到一台Linux服务器: ssh -i C:\Users\i042416.ssh\KOI.pem -L 9221:localhost:9229 ubuntu ...

  8. activeperl安装不成功_手把手教你:Windows系统上安装GPU深度学习环境

    前言 在入手学习深度学习的过程当中,有好几个朋友都咨询过我如何安装深度学习环境,之前写过一篇在Ubuntu环境下安装深度学习环境,但是有部分朋友在Windows电脑上安装深度学习环境遇到过许多的问题, ...

  9. 在windows系统上word转pdf

    在windows系统上word转pdf 一.前言:我在做文件转换过程中遇到的一些坑,在这里记录下,因为项目需求,需要使用html转pdf,由于itext转换质量问题(一些Css属性不起作用),导致只能 ...

最新文章

  1. 用Unity和Playmaker创建一个限时游戏 Creating a Time Limit game with Unity and Playmaker
  2. 从熵到交叉熵损失的直观通俗的解释
  3. BZOJ5102:[POI2018]Prawnicy(贪心,堆)
  4. 二层交换机可以划分vlan吗_二层交换机上,属于不同VLAN的PC该如何通信
  5. Leetcode 205. 同构字符串 解题思路及C++实现
  6. oracle 分组后取每组第一条数据
  7. 史上最牛空姐,从飞机上掉下愣是没摔死
  8. 判断 list 集合是否含有重复对象
  9. 手写数字识别代码,可以跑通
  10. linux 磁盘分区,格式化,挂载
  11. 【JSTL】<c:if test=“”>没有else的解决方法
  12. [CTSC1999][网络流24题]家园
  13. slf4j log4j logback关系详解和相关用法
  14. java根据word模板导出_Java通过word模板导出word
  15. 快商通对话式AI打造超级咨询师获中科院《互联网周刊》高度认可
  16. UBI文件系统的制作与挂载案例
  17. FeedDemon--最好用的Blog阅读工具
  18. 【Books系列】之第一本书:大冰《好吗好的》读书笔记和读后感
  19. php实现电子签名,php实现往pdf中加数字签名操作示例【附源码下载】
  20. python自走棋_GitHub - pumpkye/AutoChess: 自走棋战斗模拟器,搭配双方阵容然后模拟战斗,得到战斗结果,希望借此探索更加平衡的棋子设定...

热门文章

  1. 基于kmp字符串模式配算法的病毒感染检测问题
  2. 教你如何看清一个人的本质 很靠谱的
  3. 硝烟中的 Scrum 和 XP(四)
  4. iSpy结合yolo复杂环境下DLL调用路径攻略
  5. SqlServer双机热备模式下单节点数据库重装后的配置
  6. MMORPG手游制作-任务11.Mono脚本
  7. php 微信公众号跳转小程序,微信小程序页面跳转功能
  8. 合肥市电力大数据研究中心成立
  9. 使用LODOP打印控件实现打印功能的解决方案
  10. 2017 github 上android 源码(适合工作中开发)