|
文件: |
使用TortoiseSVN管理你的代码.zip |
大小: |
161KB |
下载: |
下载 | |
使用TortoiseSVN管理你的代码
(含有图片的版本请下载zip后的doc文件再看)
TortoiseSVN是Windows下的一种SVN(Subversion )客户端,而svn来源于CVS—协作版本系统,简单的说就是多人协作下的版本控制工具。试想一下你和你的团队共同开发一个软件,你和队友需要一起编辑一份或多份文件,如何让大家的代码始终保持一致;当你要对一个代码文件做没有把握的改动的时候,你是否犹豫着不敢大笔删改代码,怕没有undo那样的后悔药,还是你已经有一大堆的加上日期作文件名的zip文件备份;当你在项目中发现了一个BUG,是否想调查它是什么时候产生的。这些 SVN都能帮你搞定。
在本文中我只对单人的最简单的使用情况进行介绍,进阶一点的功能请参考帮助文件,那里有详细的说明。当你先用起来了,你会爱上SVN这个工具的。
下载安装和安装我就略过不说了,到TortoiseSVN的网站上下载一个安装包,默认安装就行了,你还可以下载中文语言包,让菜单变成全中文的。
现在假设你已经有了一个有多个文件的项目,我这里以一个嵌入式系统中的文本编辑器为例子,项目源代码文件在newedit_src中,(注意是原代码文件,通常,如果你的IDE或编译器会要求生成一个项目目录,我建议你在其下建立一个src目录专门存放代码文件,项目生成的其他文件如编译过程中的目标代码或其他文件存入别的目录里,以免把数据库弄得太大)。现在在别的地方建立一个codeDB目录,以后所有的代码数据库都建立在这个总目录下,在codeDB下再建立一个editdb目录,这个是edit项目的数据库目录。
选中editdb目录,在右键菜单中如下图选择tortoiseSVN->在此创建版本库,在出现的菜单中随便选择一个格式,建立数据库的步骤就完成了。
然后我们要把edit_src中的代码导入到此数据库中,如下图,选中newedit_src目录,在右键菜单中如下图选择tortoiseSVN->导入 ,出现如下图的对话框,在版本库URL中选择刚才建立的editdb目录,导入信息栏填写你想记录的版本日志信息。最后确认,可以看到newedit_src目录下的文件被加入到版本库中了。
然后,你需要从editdb数据库中把代码取出来,形成一个带版本信息的本地工作目录,有两个选择 1,进入newedit_src把所有文件目录删除掉;2另外建立一个目录,把工作版本存到新目录下。这里我新建立一个edti_src目录:edit_src右键盘菜单下选SVN检出,对话框中按提示填写路径,然后确认。
可以看到文件被复制到edit_src目录下,目录上多了一个绿色的钩图标,表示此目录为从数据库检出的一个未修改过的版本。现在edit_src目录下多了一个.svn的隐藏目录,里面是此目录与数据库关联的信息。
现在我们对工作目录下的文件作修改,如删除一个文件,改变一个文件中的代码,然后把这些工作保存到数据库中。当我们改变了工作目录中的文件时,文件上附加的图标从绿色的钩变成了红色的叹号,表示文件已经修改过。
现在,退到edit_src目录外,有键选择SVN提交,弹出得对话框中可以看到那些文件被修改了,填写日志信息后确认,我做的修改就被保存到数据库中了。
我们再作一些修改,再提交一个版本,现在数据库中记录了3个版本,在edit_src上按右键,选择tortoiseSVN->显示日志。可以看到各个版本的日志信息,选中俩个不同的版本,可以比较它们之间修改了那些文件,那些地方。
我们可看看版本2和3之间作了那些修改,这俩个版本只有一个edit.c文件作了改动,在点选文件,看具体作了那些变化,这会弹出tortoiseSVN带的比较工具,如下图,它会标记出文件中那些地方作了修改,是增加还是删除等。
如果你在编辑文件的过程中希望看看已经作了那些修改,也可以马上停下来,右键点击文件,选择tortoiseSVN-〉比较差异,上图的比较工具同样会被调出,与版本库中你原来取出的版本做比较。
如果你想要追踪一个文件的变化过程,你可以在edit_src上右键选择tortoiseSVN->版本库浏览器,从如下的对话框中选择你要追踪的文件,按显示日志,它会显示对此文件有更改的版本的日志信息,如此你就可以知道哪个版本对此文件作了那些修改了。
至此,你已经能用tortoiseSVN保存管理你的代码,只要你勤于检入(提交)你的代码,你所有做的每一个修改都将成为有证可查的历史,你也就可以回到任何你想要的以前的状态下。你不必担心频繁的提交会使代码库变得过大,SVN版本库每次只保存文件的修改部分,因此体积不会膨胀的很厉害,比你不停的使用zip文件备份要划算多了。
不过也有例外,如果你保存的文件不是文本文件,而是二进制的,则SVN每次都会整个文件保存一次。说到这里,这要提到如何让不必要的文件被保存到版本库中。通常我们使用的开发工具IDE都会把代码和编译的中间文件保存在同一目录下,为了不让如*.o等编译目标文件进入版本库,你需要设置版本库的忽略文件列表。在右键tortoiesSVN菜单里选择设置菜单,然后在下图的栏目中填入所有要忽略的文件类型,用空格分隔。这个设置最好在你将文件导入到版本库前就设定好。
此外你也应该设计好你的文件的保存目录架构,尽可能把源代码文件独立在一个目录下,而二进制的项目文件和中间文件在别的目录下。比如我做arm单片机的开发,以刚才的edit项目为例在总的edit目录下建立3个文件夹prj,si,edit_src,armIDE 项目文件放入prj目录下,编辑器source insight的管理文件放入si文件夹下,而源代码文件保存在edit_src目录下。
这里介绍的只是SVN的最基本的个人使用,对多人使用,解决冲突,发布版本,分支版本管理等深入的应用,我这个菜鸟也在学习中:-)
阅读(3330) | 评论(0) | 转发(0) |