程序地带

2021-01-15


SVN版本控制工具

目录


SVN版本控制工具


1. SVN规范


2.Tortoise SVN 常用操作


2.1在本地创建的用户文件夹操作方式


2.2.SVN服务器已经有项目了,用另一个用户访问的方式


2.3 update To revision更换之前版本


2.4 Delete删除项目


2.5 Import导入


2.6 冲突问题与解决


3. IDEA下SVN配置与使用


3.1 IDEA下svn配置和基本操作


3.2删除IDEA中项目


3.3 Checkout剪切SVN项目


3.4 SVN打分支及主干合并到分支


Intellij IDEA svn的使用记录


1. SVN规范

Trunk   :主干目录,此目录下的文件为基准文件


Branches:用于开发的分支目录


Tags    :用于发布的版本目录



       假设有一个项目OA,我们完成了1.0版本,这时就可以打一个tags。


       后续我们在OA项目上添加一个新的模块(及时通讯),我们就可以开一个分支, 又有一个公司需要在我们OA基础上添加财务管理模块,我们又可以打一个分支。        我们后续针对OA的1.0版本在升级,我们不需要原来附加功能,就可以在原来的主干上继续开发,形成OA2.0版本,开发完成后就可以在打一个tags。


分支 的定义规则: Project name+日期时间+功能点 。


Tags的定义规则: Project name+版本号 版本号定义为三段数字编号 xxx.xxx.xxx 第一个:革命性的产品升级版 第二个:新功能版 第三个:修正bug。Tags一般是只读,它代表的是发布的版本,所以我们不要进行改变。


2.Tortoise SVN 常用操作
2.1在本地创建的用户文件夹操作方式

0.首先在VisualSVN中创建SVN仓库,在本地创建用户文件夹作为保存项目版本的本地仓库。


1.浏览仓库:右击选择TortoiseSVN-->Repo-browser(浏览地址url为VisualSVN中的仓库地址)此时文件夹还没反应。


2.然后右键点SVN CheckOut出现一个.svn隐藏目录代表成功,右击项目选择Add表示添加到本地仓库(需要先Add才会出现Commit)。


3.右击选择TortoiseSVNàSVN Commit :表示提交操作(将本地仓库中修改的项目提交到SVN服务器),可以写提交相关的日志,可以看到VisualSVN中对应的仓库中有了刚提交的项目。


4. 通过TortoiseSVN—>SVN Update,它是更新操作,可以将svn服务器上的内容更新到本地


2.2.SVN服务器已经有项目了,用另一个用户访问的方式

1.在用户文件夹内右击右击选择TortoiseSVN-->Repo-browser url地址下面显示有SVN服务器中的项目。


2.然后SVN CheckOut就直接获取到了SVN服务器中的项目


2.3 update To revision更换之前版本

【可以随意切换到之前所提交的项目】


方法1:点击项目右击选择Show log->选择对应的版本右击选择Update item To revision


方法2:点击项目右击选择TortoiseSVN->Update To revisionà直接填入要升级的版本:1,2…


2.4 Delete删除项目

1.点击Delete操作,将本地的项目删除。但服务器的没有被删除。


2.点击SVN Commit将上一步的操作提交到SVN服务器。上一步执行了删除,那么SVN服务器中就没有此项目了,也就不能再更添加代码了,只能更换版本,要使SVN服务器中有此项目可以通过Import导入。


2.5 Import导入

Import:不选中项目把当前目录下的所有用户文件夹和项目导入到SVN服务器中。


Export:把SVN服务器中指定的SVN仓库中的所有项目导出到本地。和checkout的区别,它不存在.svn隐藏文件。


2.6 冲突问题与解决

多个用户同时操作同一个文件时,就可能产生冲突情况。



这个冲突产生后如何解决,我们可以采用手动Merge,解决冲突后,重新commit。



HelloWorld.java 它是服务器上的文件与本地文件合并


HelloWorld.java.mine 本地修改后的文件


HelloWorld.java.r4 修改前的文件


HelloWorld.java.r5 对方修改后的文件


解决冲突:点击项目选择Edit conflicts 进入异常界面窗口




异常界面左边是服务器端代码,右边是本地代码,下面是修改后代码;IDEA中相反。


User this text block:表示使用这段代码作为修改后代码。


Use text block from ‘mine’ before ‘theirs’:表示使用服务器和本地的代码和并后的代码。


然后单击绿色对号标记解决冲动。最后点击commit进行提交!


预防冲突的方式:


每次在修改代码前先进行TortoiseSVN—>SVN Update将代码从服务器更新到本地再编写代码。


 


3. IDEA下SVN配置与使用
3.1 IDEA下svn配置和基本操作

前提是我们的电脑上已经安装了TortoiseSVN.


01.首先给IDEA配置SVN环境:Settings—>Version Control—>Subversion-> D:App-ProSVNTortoiseSVNInstallinsvn.exe   如下图所示:



02.复制SVN服务器中项目的URL链接然后选择VCSàimport into Version ControlàShare Projectà+à拷贝URL链接à下面保存路径选择第二个带项目名的路径。在提交前先设置忽略信息。


添加SVN后IDEA中会出现SVN的图标,如下图所示:



1.Update Project 更新项目,把SVN服务器中的项目Download下来


2.Commit changes 提交项目上所有变化文件,只有点击了这个项目才会提交到SVN服务器。


3.Compare with the Same Repository Version 当前文件与服务器上该文件通版本的内容进行比较。如果当前编辑


的文件没有修改,则是灰色不可点击。


4.Show history 显示当前文件的历史记录


5.Revert 还原当前被修改的文件到违背修改的版本状态下



1.Local Changes 本地修改过的文件都会出现在这里


2.Repository svn仓库所有提交记录


3.Incoming 本地还没有更新的别人提交的代码


03. IDEA项目提交到SVN服务器:点击绿色的这个按钮 Commit changes,可以写入日志,只有点击了这个项目才会提交到SVN服务器。


04.当添加新类时,右击新类点击SubversionàCommit File或者点击Commit changes


05..将SVN服务器中的项目更新到IDEA本地:右击项目名选择SubversionàUpdate Diretory或者点击蓝色图标Update Project


3.2删除IDEA中项目

首先删除IDEA中项目,然后删除跟SVN绑定的本地文件夹


3.3 Checkout剪切SVN项目

从SVN服务器端将项目剪切到本地


选择VCSàCheckout from Version ControlàSubversionà+(指定路径)à选择保存位置(保存在IdeaProperties)


3.4 SVN打分支及主干合并到分支

首先在SVN服务器创建带主干的仓库,将项目先提交到trunk主干中,如下:


01.复制SVN服务器中项目trunk的URL链接然后选择VCSàimport into Version ControlàShare Projectà+à拷贝仓库的URL链接(仓库名/trunk/项目名)à下面保存路径选择第二个带trunk/项目名的路径。


02.可以先设置忽略然后点击Commit提交项目到SVN服务器


要进行主干和分支操作在本地中创建用户文件夹,下面创建主干和分支两个文件夹


03.复制主干的URL路径,点击SVN Checkout 将SVN服务器中主干的项目下载到本地主干下


04.打分支:先在本地主干中右击选择TortoiseSVNàBranch/tagàTo path(修改url路径为:branches/Project name+日期+功能点) 这样SVN服务器中就生成了和主干一样的分支


此时在IDEA中写代码后,用Commit提交后只是提交到了主干中


05.在本地用户文件下创建分支,复制分支URL并在分支文件中Checkout下来生成的项目中还没有主干中修改后的代码。


首先需要保证主干中是最新的(就是update下就可以,但IDEA中修改的代码,如果没Commit就没提交到SVN),然后在分支这边进行操作。[merge:混合,融入]


06.主干合并到分支:在分支中右击选择TortoiseSVNàMergeàURL to merge from(选择url为从trunk中来)àCompare whitespaces之后分支中可能会出现异常,修奥我们手动修改。


Intellij IDEA svn的使用记录

https://www.cnblogs.com/whc321/p/5669804.html


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_42052589/article/details/112689504

随机推荐

删库了一定要跑路吗?爱情 36 技之记忆重生!

删库了一定要跑路吗?爱情 36 技之记忆重生!

今天一位跨界老码农不知咋回事,兴奋过了头,一不小心把数据库给删掉啦,然后问我咋恢复,然后我告诉他基于binlog可以恢复,谁成想没有开启binlog,最后只能躲在角落里伤心。爱情36技系列,好久没更新...

一猿小讲 阅读(573)

Spring Cloud Gateway 笔记补充

Spring Cloud Gateway 笔记补充

SpringCloudGateway1.简介2.基本用法2.1首先来看编码式:2.2yml配置2.3与微服务结合3.Predicate(断言)3.1时间断言3.2请求方法&请求路径断言3...

李多肉同学 阅读(525)

聊起 BigTable,让你不再胆怯

聊起 BigTable,让你不再胆怯

谷歌“三驾马车”的出现,才真正把我们带入了大数据时代,并指明了大数据的发展方向。GFS作为其中一驾宝车,解决了大数据存储的难题。它能够把大量廉价的普通机器,聚在一起,充分让每台廉价的机器发挥光和热。其...

一猿小讲 阅读(896)

flink 一分钟入门篇

flink 一分钟入门篇

1.业务说:“……bulabula……,这个需求很简单,怎么实现我不管?”面对霸气侧漏的业务需求,由于没有大数据知识储备,咱心里没底,咱也不敢问,咱也不敢说,只能静下来默默储备、默默寻觅解决方案。关注...

一猿小讲 阅读(232)

Lesson 3

Lesson 3

1.几个概念1.1表达式是由数字、算符、数字分组符号(括号)、自由变量和约束变量等以能求得数值的有意义排列方法所得的组合。特点表达式一般仅仅用于计算一些结果,...

125﹌✪ω✪Ψ 阅读(599)