【Tool】---SVN的超级简单并具体得使用介绍
又一次被打脸,笔者表示再也不相信自己的记性了。简单的SVN隔了一段时间后,由于项目的需要要重新简历代码库,竟然一下子又忘了。天那,这就好比战士上了战场发现没带枪,这能行吗?因此,趁着今天又简短的复习了一遍,简要记录一下,纯粹为了以后看。
本地初始化代码库
使用SVN工具的开始应该要在本地初始化仓库以及构建仓库。步骤如下:
1. 建立一个空的文件夹

2. 点击PRJ_Test文件夹右键TortoiseSVN->Create Repository Here

建立完毕之后,SVN的基本工程即建立完毕,PRJ_Test目录如下图:

3. 工程建立完毕之后,即可进行checkout,也就是最常见的trunk,tag, branch
点击刚刚的工程目录右键-->Checkout,checkout完毕之后,会看到PRJ_Testwc文件夹

Checkout出来的PRJ_Testwc目录如下,看到这里,是否已经让你感觉非常熟悉呢?到这里基本的工程也就创建完成了。

4. 工程创建完毕,基本工作也准备完毕,正题开始,准备代码由于trunk一般作为最终的开发主仓库,因此建议第一步降trunk准备好。
这里我们就以简单的几个代码文件做下说明即可。将所有的代码均copy至trunk下,如下图,(此处仅以main.cpp和main.h为例)

全选所有的代码文件,右键TortoiseSVN->Add,此步骤将所有的代码添加到SVN的工程管理中,这样我们的SVN才知道管理哪些代码。

Add完毕之后,接下来右键trunk查看下diff,应该能看到新增了两个文件,然后再右键commit,并且填写相应的commit信息,如下图:


5. 最终点击ok之后,我们的trunk主分支的代码已经准备完毕,此时可以在自己电脑上制定checkout的路径,从而checkout该项目trunk目录的代码,同样的,也带有SVN的版本管理功能啦。
SVN创建分支
最基本的代码库已经创建完毕,但是trunk作为我们最终要维护的主支,一般都是最终才会把修改的代码merge到这个主支上,在调试阶段,一般要创建分支,SVN创建分支的步骤如下:
首先,点击trunk目录右键->TortoiseSVN->Branch/tag

在To Path目录中填入准备创建得分支目录,记得填上Log message信息,点击OK即可创建分支完成。

创建Branch1分支完成后,Checkout时,可以看到下面得分支信息,接下来就可以在分支信息上任意得玩耍了。

注: 由于通常情况下,你是为了解决某个问题而创建一个分支,待问题解决后,会把修改merge到主分支上,因此每次创建分支时,建议add一个说明文档,这样就不会乱了。
所有得分支信息,都是branch在管理,你可以通过查看branches得log information来看到你得分支创建和删除信息,有时候还需要删除某个分支,达到一个闭环得效果。如下图:
右键检出得分支文件夹,然后TortoiseSVN->Repo Browser->右键Branch1->Delete->填写log messgae即可

SVN分支Merge
在创建完分支并完成修改后,通常要将分支合并到主支上面,这个操作也比较简单。
首先,我们在检出得Branch1目录中增添一个add.txt测试文档,并且add提交,然后查看Branch1得日志如下:

其次,右键Trunk主仓库->TortoiseSVN->Merge->Next->指定Branch1路径并选择版本,如下图


最后,一直next等待merge,即可。最终可以查看Trunk得改动,会发现add.txt已经被添加过来

最终在trunk再commit一次,完成log meeage即可。至此,merge成功并结束
【Tool】---SVN的超级简单并具体得使用介绍的更多相关文章
- JS基础(超级简单)
1 JS基础(超级简单) 1.1 数据类型 1.1.1 基本类型: 1) Number:特别注意:NaN的检测方法:Nan!=NaN;或者使用isNaN方法 2) ...
- JavaScript,一个超级简单的方法判断浏览器的内核前缀
先说明,此处的方法是说超级简单的方法,不是指代码超级少,而是用非常简单的知识点,只要懂得怎么写JavaScript的行内样式就可以判断. 大家应该还记得JavaScript行内样式怎么写吧?(看来我是 ...
- zw版_Halcon图像交换、数据格式、以及超级简单实用的DIY全内存计算.TXT
zw版_Halcon图像交换.数据格式.以及超级简单实用的DIY全内存计算.TXT Halcon由于效率和其他原因,内部图像采用了很多自有格式,提高运行速度,但在数据交换方面非常麻烦. 特别是基于co ...
- phpexcelreader超级简单使用
phpexcelreader超级简单使用 该php类可以到官网下载:http://www.codeplex.com/PHPExcel,下载的文件不能直接使用要看下面的备注. 备注: 1.要将olere ...
- 哈,又一款超级简单的队列(MQ)实现方案来了~
开源的消息队列已经很多了,但大部分很重,实际环境下,很多可能只是使用到了一点功能而已,杀鸡使用牛刀,着实有些浪费了.很多时候,我们只想要一片绿叶,但它们给了我们整个的春天,很难消化.本着DIR精神, ...
- JQuery -> 超级简单的下拉菜单
使用jquery实现一个超级简单的下拉菜单. 效果图 最初的效果 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvRmVlTGFuZw==/font/5a6L ...
- html超级简单实现点赞(收藏)和取消赞效果
1.前言 我们经常会遇到对一些列表呀进行点赞呀收藏数据等效果呀.今天就用html+css实现超级简单易上手的点赞和取消赞的demo展示. 2.详情 1.css样式 .like{ font-size:6 ...
- Android高级控件(四)——VideoView 实现引导页播放视频欢迎效果,超级简单却十分的炫酷
Android高级控件(四)--VideoView 实现引导页播放视频欢迎效果,超级简单却十分的炫酷 是不是感觉QQ空间什么的每次新版本更新那炫炫的引导页就特别的激动,哈哈,其实他实现起来真的很简单很 ...
- SVN就是这么简单
什么是SVN SVN全称:Subversion,是一个开放源代码的版本控制系统 Svn是一种集中式文件版本管理系统.集中式代码管理的核心是服务器,所有开发者在开始新一天的工作之前必须从服务器获取代码, ...
随机推荐
- Python工程编译成跨平台可执行文件(.pyc)
原文:https://blog.csdn.net/zylove2010/article/details/79593655 在某些场景下,若不方便将python编写的源码工程直接给到其他人员,则可以将p ...
- 2018-3-7-VisualStudio-csproj-添加-ItemGroup-的-Service-
title author date CreateTime categories VisualStudio csproj 添加 ItemGroup 的 Service lindexi 2018-3-7 ...
- navicat primium 12免安装版的解决方式
https://blog.csdn.net/wanghailong_qd/article/details/85887825 工具————选项 -----环境 会发现是instantclient_10_ ...
- MySQL之Field 'email' doesn't have a default value问题
MySQL在出现这个Field xxx doesn't have a default value错误的原因是:我们设置了该字段为非空,但是我们没有设置默认值照成的. 比如我们创建一个表: CREATE ...
- H3C DHCP特点
- java 内省综合案例和Beanutils工具包
演示用eclipse自动生成 ReflectPoint类的setter和getter方法. 直接new一个PropertyDescriptor对象的方式来让大家了解JavaBean API的价值,先用 ...
- java Io流的应用
标准输入输出流 1.1标准输入流 源数据源是标准输入设备(键盘 ...
- linux 禁止所有中断
如果你需要禁止所有中断如何? 在 2.6 内核, 可能关闭在当前处理器上所有中断处理, 使用任一个下面 2 个函数(定义在 <asm/system.h>): void local_irq_ ...
- Vue生命周期学习总结
官方文档上关于Vue生命周期的图片大家一定很熟悉: 1.beforeCreate 实例.组件通过new Vue() 创建出来之后会初始化事件和生命周期,然后就会执行beforeCreate钩子函数,这 ...
- Linux 内核提交 urb
一旦 urb 被正确地创建,并且被 USB 驱动初始化, 它已准备好被提交给 USB 核心来发送 出到 USB 设备. 这通过调用函数 usb_submit_urb 实现: int usb_submi ...