9

选择SVN客户端

Windows平台

TortoiseSVN:也叫乌龟SVN,Windows上最流行的SVN客户端,安装后你的右键就会多了几个SVN相关的菜单,非常方便
Eclipse插件:在Eclipse中集成SVN插件,适合使用Eclipse开发的用户,查看使用教程

Mac平台

CornerStone:Mac上最流行的SVN客户端之一,查看使用教程
Versions:Mac上最流行的SVN客户端之一,查看使用教程

另外推荐大家一个SVN视频教程:https://www.bilibili.com/video/av66292191/


以下教程以TortoiseSVN为例


Checkout同步代码

在你需要保存代码的地方右键选择“SVN Chekout...”
填写仓库地址,例如:svn://svnbucket.com/nate/hello/trunk。
点击确定就能同步代码到本地了。

如果你还没有代码仓库,你可以到SVNBucket注册一个。

Update更新代码

右键“SVN Update”就能更新到别人提交的代码了。

Commit提交代码

在提交代码前我们应该update下代码,这是个好习惯,可以避免覆盖别人代码和代码冲突。

提交代码也很简单,右键“SVN Commit...”,填入提交描述,就可以把本地提交的代码提交到服务器了。

忽略文件

有时候某些目录或者文件我们不想提交到SVN服务器,这时我们可以忽略这些文件。
比如我们需要忽略hello这个目录,选中需要忽略的文件夹或者文件,右键,依次选择下面的菜单,就添加一条忽略了,recursively表示递归忽略,会忽略掉这个目录下的所有东西

图片描述

撤销本地修改

有时候我们本地修改了一些文件,但是突然又不需要了,想丢弃本地的修改回去SVN上最新的版本怎么操作呢?

右键选中需要撤销的文件,TortoiseSVN->Rever就可以丢弃本地修改了。

撤销已经提交的代码

已经提交到SVN仓库的代码发现改错了,还能后悔撤回吗?

1.TortoiseSVN==>show log查看提交记录

2.选择我们需要回去的版本,假设版本号2是我们的错误提交,这里选择提交1,右键选择"Revert to this version",这样就回去了版本号1的版本,版本号2的提交就被撤销了

3.最后你还需要commit下撤销后的代码到SVN仓库,才是真正的丢弃了版本号2的提交

图片描述

SVN仓库目录和开发建议

我们建议每个仓库的根目录都创建trunk、branches、tags目录,如下图:

图片描述

开发时都在trunk写代码,上线产品后就创建分支到branches目录,线上版本出问题了,我们应该在对应的分支上进行修复,并且把修复后的代码合并到主干上。

Apache官方 SVN 最佳实践指南

如何创建分支

以上面的目录结构为例子,我们从当前主干创建一个分支出去,表示1.0版本,操作步骤如下:

1.右键trunk目录=>TortoiseSVN=>Branch/tag

2.填写分支路径/branches/online1.0,填写注释,选择最用最新的版本开分支,如下图:

图片描述

如何合并代码

假设我们在分支上修复了一个线上的BUG,需要把代码那个代码合并到主干来,操作步骤:

1.在分支的跟目录点击show log

2.选中需要合并过去主干的提交记录(可以多选)

3.点击merge revision to ...

4.选择主干的跟目录,点击确定,就合并过去了。

5.在主干上提交这次合并的内容

图片描述

SVN的这个指定提交记录合并功能非常的方便,我们日常中经常会遇到线上出问题需要修复,修复后把代码合并到主干的情况。

这里需要注意的是,你在分支上的什么目录点击合并,那就需要定位到主干的对应目录合并,不然会出错。

另外如果你有大量的代码需要合并或者不知道哪些提交记录需要合并,可以使用Beyond Compare来进行对比合并,也是非常方便的。

切换分支

右键TortoiseSVN=>Switch=>选择需要切换的分支,点击确定就可以了

修改仓库地址

如果您的仓库地址变了,是不是需要重新checkout一份代码呢?

快速更换:右键点击仓库根目录 => TortoiseSVN => relocate,修改仓库地址,点击确定后就修改好了

其他相关教程

SVN常用命令
SVN钩子解放你的双手
轻松解决SVN冲突
SVN 和 Git 的一些误解和真相
Mac用户SVN图形界面推荐
Eclipse安装SVN插件和检出代码

Nate
147 声望11 粉丝