又一次被打脸,笔者表示再也不相信自己的记性了。简单的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成功并结束