SVN的使用

2,737 阅读3分钟

这是我参与8月更文挑战的第六天,活动详情查看:8月更文挑战

  • 之前工作中使用Git居多,刚入职的公司使用的SVN ,所以总结下
  • SVN同Git及其相似,都是为了方便协同与远程开发

安装SVN客户端

  1. 确认32位还是64位操作系统
  2. 操作系统可向下兼容,即:64位可以安装32位软件
  3. 一路默认next install 即可,安装完毕必须重启电脑才生效
  4. 安装完,通过右键选项中是否有SVN checkout等选项来检验是否安装成功

使用客户端软件,连接SVN服务器

  1. 在项目目录鼠标右键->TortoiseSVN->打开版本库浏览器
  2. 手动输入URL,例如 svn://locallhost
  3. 点击确认后,在窗口中的文件夹上右键选中检出后,点击确定 系统会自动检出数据到客户端,
  4. 打开隐藏文件,会有一个.svn文件显示,则当前操作成功。

SVN的使用

 checkout检出操作
  1. 链接到SVN服务器端  
  2.  更新服务端数据到本地   
  3. 注意:chekout只在第一次链接时操作一次,后续更新操作使用update
commit 提交操作
  1. 提交本地数据到服务器端
  2. 文件补充或者编写完毕时在文件夹内右键
  3.  注意:chekout只在第一次链接时操作一次,后续更新操作使用update
  4. 这时会发现指令由checkout变为SVN更新和SVN提交
  5. 点击提交后会出现操作弹窗,空白窗口为这次提交的备注(和Git一模一样)
  6.  下方可以选择是否全部提交和需要上传的文件,选择操作完毕后,点击确定提交即可
 作为新加入的小组成员,如何进行操作?
  1. 在本地创建一个新文件夹,获得项目经理给的SVN地址URL
  2. 在文件夹鼠标右键->TortoiseSVN->打开版本库浏览器-输入地址URL 、
  3. 此时可以看到项目文件,在文件夹上右键检出操作,检出地址为当前新建的文件夹,单击确定
  4. 此时就把服务器上的文件检出到了本地,对当前代码文件进行开发操作,完毕后进行备注并提交
SVN的文件操作
  • 忽略功能
  1. 上传时固定忽略某文件,单机某文件右键选择TortoiseSVN->增加到忽略列表

  2. 可以选择单文件名,或此类型所有文件从而达到避免文件上传

  • 关于图标,根据不同的图标,发现不同的问题
  • 版本回退功能

   1. 对于文件进行操作提交后,发现不适合当前业务场景想进行版本回退

   2. 在当前项目文件夹下,右键选择TortoiseSVN->点击‘更新至版本’

   3. 此时出现弹窗,有两种方式切换 显示日志/版本号

   4. 可以根据日志或者版本号进行回退(一般以日志回退比较方便)

   5. 选中想回退的版本点击确定即可

  • 版本冲突问题

   1. 冲突的概念和之前用的git相同即:

   2. 两人更新代码后进行编写,第一人提交代码

   3. 第二人也修改同一文件进行提交,就会出现冲突问题

  • 解决办法一 :分配协作

    • 规划开发时间,进行时间分离

    • 规划开发模块,避免一个模块多个人开发

  • 解决办法二 :使用SVN解决版本冲突问题

    • 1. 更新服务器端数据到本地这时会出现
      • 当前文件.html 整合后文件
      • 当前文件.html.mine 我自己的内容(后提交的文件)
      • 当前文件.html.r8 起始文件

- 当前文件.html.r9 先前别人相对于起始文件修改后的文件

   2.  删除掉除‘整合后文件以外’的三个文件

   3. 修改整理‘整合后的文件’

   4. 重新提交文件到服务器端