SVN的介绍

  • 一.学习SVN的主要内容的介绍
    1.基本操作:学习SVN有哪些基本操作
    2.服务器端的安装配置:SVN中必不可少的2个环境之一,会在下面的课程中介绍服务器如何去安装和配置
    3.客户端软件的使用:在实际开发中,使用客户端软件来操作SVN也变得很常见,也是项目经理或者技术总监经常会使用到的工具,主要是为了初始化项目,以及忽略一些不需要上传的文件,后面的课程会详细演示
    4.与Xcode的集成:随着Xcode升级,目前xcode对svn的集成越来越好,后面的课程也会详细演示如何使用xcode来操作svn
  • 二.基本操作
    1.通过下副图介绍SVN的基本操作

2.首先,观察该图中一共有4个角色
3.如果以类来区分的话,一共有两类角色,一类为左边的Server,另一类为右边的User
3.Server翻译过来为服务器,观察服务器左边有个SVN repository,翻译过来为SVN仓库
4.由此引出SVN的使用,首先要有个服务器,而服务器里面有个SVN的仓库,仓库是用来存放源代码来对源代码进行管理
5.如果user1想要服务器的源代码,那么需要将服务器的源代码下载到user1的本地,通过svn checkout命令
6.svn checkout:将服务器的代码完整的下载到本地
7.下载到本地后,user1就可以在本地进行开发,比如需要person类,dog类都可以进行相应的创建
8.创建完后仅仅是在本地,而服务器并没有这些代码,这个时候要上传到服务器需要通过svn commit 命令
9.svn commit :将本地修改的内容提交到服务器(包括添加的和修改的)
10.这个时候user2,或者user3,想要服务器的代码,只需要通过svn checkout命令就能将服务器最新的代码下载到本地
11.之后需要修改内容或者添加文件都可以在本地操作,需要上传的话,通过svn commit上传到服务器
12.那么这个时候,服务器的代码就是user2或者user3上传的最新代码user1想要拿到服务器最新的代码需要通过svn update
13.svn update:将服务器最新的代码下载到本地(如果本地没有该文件则下载该文件到本地,如果有文件,就下载没有的代码到本地)
14.对于上述操作掌握之后,就基本的掌握了svn的基本操作
15.提醒:
    *每天下班前commit "可运行版本":写了一天的代码了,本地存了很多的代码,这个时候一般情况下需要提到服务器进行共享,因为项目经理可以通过提交信息间接的知道你今天都做了哪些事情.这里需要注意的一点是要提交一个可运行的版本,如果提交的command +B编译错的版本,这个时候如果其他同事更新也会把错误的版本更新到本地,就会造成编译报错,就没有办法继续开发了,只有你这里修改到可运行的版本,之后同事再更新,这会大大的浪费时间,并且降低工作效率
    *每天上班前update前一天所有的代码:一般在第二天上班都会把前一天的代码更新到本地,因为在前一天,一般都会将所有的代码提交到服务器,那么第二天在开始工作前最好将服务器最新的代码下载到本地

  • 三.官方SVN介绍(官方图较为简洁,理解最好以上副图为准)
    1.通过下副图介绍SVN的基本操作

2.这里有2类角色,一个repository(仓库),一个client(开发者)
3.最左边,开发者想要将代码提交到服务器(通过write)相当于commit提交到仓库中
4.其他开发者想要最新的代码通过read(相当于update)更新到本地

  • 四.使用环境(使用SVN必须得有2套环境)
    1.服务器:
        *作用:用于存储客户端的源代码
        *安装:在window上面安装visual
    SVN Server就可以了
        *补充:一般情况下,公司里的开发人员不必亲自搭建服务器,一般由项目经理或者技术总监来做,但是我们也有可能会坐上这样的岗位,所以也会演示
    2.客户端:
        *作用:将本地的源代码上传到服务器,或者更新服务器的源代码到本地保持同步
        *安装:可以在mac上面使用命令行
            Versions(可以在MAC上使用的SVN客户端,对命令行封装,功能简洁易用)
            cornerstone(可以在MAC上使用的SVN客户端,对命令行的封装,好用且功能强大,也目前用的最多的)
            Xcode,随着xcode升级,xcode对SVN的集成越来越好,也可以使用xcode来操作svn,其实本质也是对命令行的封装
        *而开发人员所属的就是操作客户端的角色
  • 五.总结
    这里主要是讲了SVN的基本操作以及使用环境,下面演示服务器的搭建

02~ 一步一步教你使用 SVN之SVN 的介绍的更多相关文章

  1. 一步一步搭框架(asp.netmvc+easyui+sqlserver)-02

    一步一步搭框架(asp.netmvc+easyui+sqlserver)-02 我们期望简洁带前台代码,如下: <table id="dataGrid" class=&quo ...

  2. 一步一步教你如何在linux下配置apache+tomcat(转)

    一步一步教你如何在linux下配置apache+tomcat   一.安装前准备. 1.   所有组件都安装到/usr/local/e789目录下 2.   解压缩命令:tar —vxzf 文件名(. ...

  3. 一步一步教你将普通的wifi路由器变为智能广告路由器

    一步一步教你将普通的wifi路由器变为智能广告路由器 相信大家对WiFi智能广告路由器已经不再陌生了,现在很多公共WiFi上网,都需要登录并且验证,这也就是WiFi广告路由器的最重要的功能.大致就是下 ...

  4. 一步一步教你使用Git

    一步一步教你使用Git 互联网给我们带来方便的同时,也时常让我们感到困惑.随便搜搜就出一大堆结果,然而总是有大量的重复和错误.小妖发出的内容,都是自己实测过的,有问题请留言. 现在,你已经安装了Git ...

  5. 使用WPF教你一步一步实现连连看

    使用WPF教你一步一步实现连连看(一) 第一步: 问题,怎样动态的建立一个10*10的grid(布局) for (int i = 0; i < 10; i++){ RowDefinition r ...

  6. 一步一步教你用 Vue.js + Vuex 制作专门收藏微信公众号的 app

    一步一步教你用 Vue.js + Vuex 制作专门收藏微信公众号的 app 转载 作者:jrainlau 链接:https://segmentfault.com/a/1190000005844155 ...

  7. Ace教你一步一步做Android新闻客户端(一)

    复制粘贴了那么多博文很不好意思没点自己原创的也说不出去,现在写一篇一步一步教你做安卓新闻客户端,借此机会也是让自己把相关的技术再复习一遍,大神莫笑,专门做给新手看. 手里存了两篇,一个包括软件视图 和 ...

  8. 【Linux】一步一步学Linux——Unix发展史(02)

    目录 00. 目录 01. 请参考Unix传奇 02. 03. 00. 目录 @ 本博客后面会更新 01. 请参考Unix传奇 链接: https://coolshell.cn/articles/23 ...

  9. 一步一步教你实现iOS音频频谱动画(二)

    如果你想先看看最终效果再决定看不看文章 -> bilibili 示例代码下载 第一篇:一步一步教你实现iOS音频频谱动画(一) 本文是系列文章中的第二篇,上篇讲述了音频播放和频谱数据计算,本篇讲 ...

  10. 一步一步教你实现iOS音频频谱动画(一)

    如果你想先看看最终效果再决定看不看文章 -> bilibili 示例代码下载 第二篇:一步一步教你实现iOS音频频谱动画(二) 基于篇幅考虑,本次教程分为两篇文章,本篇文章主要讲述音频播放和频谱 ...

随机推荐

  1. Erlang-特性

    一.模式匹配: 模式匹配作为Erlang的基础,用来完成很多不同的任务:可以用它从数据结构中提取字段值,在函数中进行流程控制,或者当你向一个进程发送消息时,从并行程序刷选那些需要处理的消息: 二.函数 ...

  2. VPS常用工具

    1.命令行工具 putty 在Mac下,可以直接使用超级终端 ssh username@ipaddress 2.可视化上传文件工具 WinSCP 在Mac下,使用 Cyberduck

  3. MySQL对于数据库应该如何如何配置安全问题了

    mysql 是完全网络化的跨平台关系型数据库系统,同时是具有客户机/服务器体系结构的分布式数据库管理系统.它具有功能强.使用简便.管理方便.运行速度快.安全可靠性强等优点,用户可利用许多语言编写访问m ...

  4. Ecshop后台订单列表增加”商品名”检索字段

    近期ecshop网站做活动,统计商品订单量的时候没有按商品名搜索的选项,只能手动查询.这样效率很低下,而且容易出错. 现在为列表增加一个简单的“按商品名搜索”表单项.效果如下图 涉及到2个文件,分别是 ...

  5. JavaScript push()和splice()方法

    JavaScript push() 方法 定义和用法 push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度. 语法 arrayObject.push(newelement1,newele ...

  6. 八大排序算法之二希尔排序(Shell Sort)

    希尔排序是1959 年由D.L.Shell 提出来的,相对直接排序有较大的改进.希尔排序又叫缩小增量排序 基本思想: 先将整个待排序的记录序列分割成为若干子序列分别进行直接插入排序,待整个序列中的记录 ...

  7. /proc/sysrq-trigger的功能 介绍

    介绍/proc/sysrq-trigger的强大功能 让大家了解一下,在linux里,可以利用/proc/sysrq-trigger做些事情 # 立即重新启动计算机echo "b" ...

  8. 将html table中的数据封装成json格式数据

    var tab=document.getElementById("table1");     var rows=tab.rows;     //alert(rows.length) ...

  9. 验证码识别--type7

    验证码识别--type7 一.干扰分析 有黑色边框,然后点干扰,线干扰 去边框 去点干扰 变成这样的结果,方便运算吗?也可以多种方式联合起来运算的.我相信在很多情况下,都可能会遇到类似的结果.我们人类 ...

  10. 使用Keil的MicroLIB时自动设置堆大小——玩嵌入式以来最高难度

    Keil编译项目,如果使用微库MicroLIB,就可以使用malloc.微库内部位置一个堆管理模块.芯片的RAM大小是固定了的,前面分为全局变量,后面分给堆和栈,这是一般开发方式.但是我们在开发项目的 ...