SVN常用操作指南

SVN简介

subversion(简称svn)是近年来崛起的版本管理软件系统,是cvs的接班人。目前,绝大多数开源软件都使用svn作为代码版本管理软件。

Subversion是一个版本控制系统,相对于的RCS、CVS,采用了分支管理系统,它的设计目标就是取代CVS。互联网上免费的版本控制服务多基于Subversion。

Subversion的版本库可以通过网络访问,从而使用户可以在不同的电脑上进行操作。从某种程度上来说,允许用户在各自的空间里修改和管理同一组数据可以促进团队协作。因为修改不再是单线进行(单线进行也就是必须一个一个进行),开发进度会进展迅速。此外,由于所有的工作都已版本化,也就不必担心由于错误的更改而影响软件质量—如果出现不正确的更改,只要撤销那一次更改操作即可。某些版本控制系统本身也是软件配置管理系统(SCM),这种系统经过精巧的设计,专门用来管理源代码树,并且具备许多与软件开发有关的特性—比如,对编程语言的支持,或者提供程序构建工具。不过Subversion并不是这样的系统。它是一个通用系统,可以管理任何类型的文件集。

常用SVN操作

checkout(检出)

进入一个空目录,右键菜单选择“SVN Checkout”,弹出检出文件对话框。

如图配置完成后,点击“ok”按钮即可。

add(新增)

有新增的文件需要提交,进入本地工作拷贝,右键菜单选择“TortoiseSVN -> Add”,弹出新增文件对话框。

如图选择完后,点击“ok”即可。

commit(提交)

有修改的文件需要提交,进入本地工作拷贝,右键菜单选择“SVN Commit”,弹出提交文件对话框。

选择需要提交的文件,填写好日志信息,点击“ok”即可。

merge(合并)

需要合并分支,右键菜单选择“TortoiseSVN -> Merge”,弹出合并操作对话框。

合并类型选择第一个,从一个分支合并,第二个是同时合并两个分支到一个工作拷贝,就像河流汇成大海一样,分支少,不需要。

下一步

选择要合并的分支,即源分支路径,然后选择需要合并的版本号,或者选择“all revisions”所有版本号(不需要合并所有版本时,请不要选择)。

“ok”,再次确认“Working Copy”路径正确无误后,点击“下一步”

保持默认值,点击“Merge”按钮即可,也可以先“Test merge”,看看是否有冲突,如果有冲突,检查是否是版本号没有选择完整。

合并完成,检查无误后,记得提交合并后的代码,所有合并操作均只影响本地文件,在提交前随时可以撤销更改。

revert(还原)

如果修改的文件需要还原,需要区分两种情况处理。

第一种,修改的文件还未提交,很简单,进入本地工作拷贝,右键菜单选择“TortoiseSVN -> Revert”,弹出恢复文件选择对话框。

选择需要恢复的文件后,点击“ok”即可。

另外一种情况,修改的文件已经提交到服务器,操作也很简单。

进入本地工作拷贝,右键菜单选择“TortoiseSVN -> Show log”,进入查看日志对话框。

查看日志,选择需要恢复的版本,在需要恢复的版本上右键,弹出菜单,选择“Revert changes from this revisions”,会弹出确认对话框。

点击“Revert”按钮即可恢复所选版本的文件了,注意,此操作有可能提示有文件冲突,需要解决冲突后才能再次提交代码。

如果需要将某个版本提交后的文件都还原,操作也很简单

在查看日志对话框中,选择一个版本,右键弹出菜单,选择“Revert to this revisons”

在弹出的确认对话框中,点击“Revert”按钮即可将所选择版本之后提交的所有文件还原。

branch/tag(打分支/标签)

进入本地工作拷贝,在需要为其打分支/标签的目录右键,选择菜单“TortoiseSVN -> Branch/tag”,弹出打分支对话框。

按如图所示配置好后,点击“ok”按钮即可。

resolve(解决冲突)

在合并代码的时候,难免会有冲突发生,有冲突就需要解决,对SVN来说,解决冲突方法很简单。

如果在合并代码的时候,出现下图所示对话框,表示有文件内容冲突,需要解决。

点击“Edit conflict”,会自动打开SVN自带的文件对比工具。

红色区域的代码表示这部分代码有冲突需要解决。

如图所示,如果需要保留左边的代码,在左边红色代码块上右键选择第一项。

如果需要保留右边的代码,在右边的红色代码块上右键选择第一项。

如果需要同时保留两边的代码,在左边的代码块上右键,按图示说明选择即可。

export(导出)

SVN本地工作拷贝目录中包括有一个“.svn”目录,用于记录所有文件的变更操作,该文件夹是隐藏的,我们在部署项目的时候,是不需要该目录的,所有就不能通过简单的复制操作在部署项目文件。

导出操作即可获取一份不带“.svn”目录的文件。

进入本地工作拷贝,右键菜单选择“TortoiseSVN -> Show log”,打开查看日志对话框。

选择一个版本,右键选择“Export”。

按图所示,配置好相关信息后,点击“ok”即可。

这样操作会导出整个库的代码,如果需要导出部分文件怎么办呢?也很简单。

如图,选择需要导出的版本,在下方会显示该版本所有变更过的文件,选择需要导出的文件,右键选择“Export”即可,后续配置跟上面一样。

relocate(重新定位)

在SVN服务器地址发生变更的情况下,我们不再需要重新checkout一份代码,通过重新定位功能即可切换SVN服务器地址。

进入本地工作拷贝目录,右键菜单选择“TortoiseSVN -> Relocat”。

在弹出的对话框中输入新的SVN服务器地址,点击“ok”按钮即可

发表评论

电子邮件地址不会被公开。 必填项已用*标注