SVN的基础操作大概就是这些,许多同学在新入职面对SVN会感到头疼,经常会犯一些低级的错误,不过熟悉一段时间后就会感到SVN的好处。这里楼主做了一些SVN的基础教学,希望对大家能够有帮助。
文章目录
- 一、SVN安装与汉化
- 1.1 SVN安装
- 1.2 SVN汉化
- 二、SVN使用操作
- 2.1 使用SVNBucket管理及SVN新建项目
- 2.2 SVN检出-Checkout
- 2.3 SVN提交-Commit
- 2.3.1 创建提交
- 2.3.2 SVN修改-提交
- 2.4 SVN日志-Log
- 2.5 SVN更新-Update
- 2.6 SVN还原
- 2.7 SVN忽略
- 三、SVN冲突处理
- 3.1 文件冲突原因及避免
- 3.2 冲突处理
- 3.3 实际处理
- 四、SVN分支
- 4.1 SVN目录级别
- 4.2 分支操作
- 4.3 分支管理
- 4.3 合并分支
- 五、代码暂存
一、SVN安装与汉化
1.1 SVN安装
可以到官方网站下载。安装最新版本一路next即可。安装完后需要重启。
1.2 SVN汉化
在SVN下载链接下方有汉化包安装,点击安装一路next即可。
鼠标点击右键,有SVN检出按钮即为安装成功。
二、SVN使用操作
2.1 使用SVNBucket管理及SVN新建项目
SVNBucket 是一个SVN管理工具,使用其会方便SVN的操作与管理。官网链接为https://svnbucket.com/。
进入SVNBucket并注册之后,点击创建新项目。
创建项目后复制svn地址。
2.2 SVN检出-Checkout
在本地文件夹中点击SVN检出。检出时要输入的用户名和密码即为自己SVNBucket的用户名和密码。
等待检出完成即可。检出完成后会出现带绿色对勾的文件夹。绿色对勾表示已经与SVN服务端同步。
2.3 SVN提交-Commit
2.3.1 创建提交
在该文件夹中随便创建一个文本文档。
点击SVN提交。
添加完信息,打勾,点击确定。
显示提交完成。
提交之后会显示一个勾。
同时服务端会出现提交的文件。
2.3.2 SVN修改-提交
随便修改一个文件内容。
更新之后会显示叹号,表示已经修改,需要提交。点击右键-SVN提交。提交时可以双击文件,查看文件对比修改内容。
提交完成。
2.4 SVN日志-Log
日志是使用SVN非常重要的内容。查看日志可以查看修改的内容和版本的更迭。
2.5 SVN更新-Update
将版本更新到SVN库的最新版本。
使用SVN或者GIT都要养成先更新的习惯。
2.6 SVN还原
再修改之后可以使用还原功能,还原已修改的内容。
在日志中点击右键可以还原某次的修改,也可以复原到某个版本。
2.7 SVN忽略
可以将文件加入忽略列表
再次提交时会发现属性发生变化。
三、SVN冲突处理
3.1 文件冲突原因及避免
当多个人同时修改一个文件的同一行,或者多个人共同处理无法合并的二进制文件时,就会发生冲突。
避免冲突的最好方式是及时更新!
3.2 冲突处理
如果多个人同时修改了同一个文件的同一行,再提交时会被警告文件冲突。
冲突后可以点击右键,选择使用他们的、或者使用我们的来解决冲突,即直接放弃别人的或者直接放弃自己的修改。
当然还可以点击编辑冲突,进入编辑界面。可以显示行界别的差异,方便进行手动修改。
对于二进制文件,不能进行逐行编辑,只能选择使用自己的或者使用他人的。
3.3 实际处理
在实际工作中,当你没有刻意修改文件但是产生了冲突时(可能是误操作或者不小心动了某些文件),可以使用标记解决的方式跳过冲突,再将文件还原到主干的版本。注意不要还原自己修改的配置文件。
当然,实际工作时,如果项目组有良好的分工,并不会出现多人同时编辑同一个文件的情况。当出现多人同时编辑一个文件时,一定要跟对方交流进度和修改部分,不然会出现覆盖别人的代码或者被覆盖的情况。
四、SVN分支
当项目已经上线时,经常会有线上版本和开发版本,甚至会有测试版本等。这样做是为了避免将不完善的、没有经过验收的部分更新到了线上,这是非常危险的操作。有了分支就可以在开发分支上开发,在测试分支上测试。同时开发人员为了避免影响他人工作,也会自己独立创建自己的分支进行开发。
4.1 SVN目录级别
SVN的目录结构为 trunk-branches-tags。trunk为主干文件,branches为分支文件,tags为标签。
项目初期时会在trunk文件上进行开发,当开发到一定阶段时,会开出一个较为稳定的线上版本分支对外开放。
我们依次创建三个文件,并将之前的文件全部放到trunk文件夹中。
4.2 分支操作
点击trunk文件右键-分支
更新之后会看到brunch中的新的分支。
4.3 分支管理
当分支过多时,我们可以分支单独的检出出来。点击属性复制其URL。
检出到目录中。
再将trunk检出到目录(命名为TestOnline0.0),这样我们就有了两个互相不影响且结构较清晰的分支。
4.3 合并分支
假设我们的上述两个文件中,0.0文件是主干文件,作为开发和测试使用,1.0文件是线上版本,对外开放。这时如果线上版本出现了问题,需要修复bug,我们不可能在1.0文件上直接修改,因为随意地直接修改线上版本且外更可能会引发线上版本的崩溃,带来极大的损失。
所以我们需要在开发版本上进行修改,修改后如果更新到线上版本呢,这就需要分支合并的操作。
假设我们对0.0文件中的teat01文本进行修改,修改后提交。
提交之后点击日志,找到提交的记录,右键合并版本到
选择1.0文件,就可以看到合并成功了。
记得合并分支后再提交一次。
一般开发人员主要负责的都是自己的部分,所以提交时只用按svn的提交记录提交相应文件即可,不需要将整体的文件整体提交。
五、代码暂存
当代码修改了很多但还没有写完,突然要修复一个bug时,当代码重构了很多跑不起来,但是突然需要发布新版本时,我们需要用到代码暂存的操作,将并未完成的代码贮藏起来。
同时可以点击取消贮藏将文件取消暂存。