zoukankan      html  css  js  c++  java
  • SVN

    重点掌握

    1、 IDEA配置SVN
    2、IDEA使用SVN第一 次从服务器下载代码
    3、IDEA使用SVN将代码第一次上传到服务器
    4、后续代码有变动时的本地上传到服务器与从服务器下载到本地

    重点掌握:

    因为版本差异,我们需要有一个工具帮我们管理版本,版本控制工具Git/SVN就诞生了

    检出(checkout):将一个服务器端创建好的项目整个下载到本地,这是到项目组后参与开发的第
    一步,只需执行一次。

    更新(update) :将本地文件更新为服务器端的最新版本,通常为每天上班时或修改公共文件之前

    一步,只需执行一次。

    更新(update) :将本地文件更新为服务器端的最新版本,通常为每天上班时或修改公共文件之前
    执行一次。

    提交(commit) :将本地修改提交到服务器端。通常每天下班前或每实现一个功能、完成一个模块
    时执行一次。

    查看版本:svn --version

    SVN服务监听3690端口,打开一-个新的cmd窗口,使用netstat-an命令查看3690端口是否被监

    第一章、开发中的实际问题

    1.1 需求之一备份。

    ​ 小明负责的模块就要完成了,就在即将Release之前的一-瞬间,电脑突然蓝屏,硬盘光荣牺牲!几个月来的努力付之东流。

    1.2需求之二:代码还原

    ​ 这个项目中需要一个很复杂的功能,老王摸索了一个星期终于有眉目了,可是这被改得面目全非的代码已经回不到从前了。什么地方能买到哆啦A梦的时光机啊?

    项目新老版本的切换

    1.3 需求之三:协同修改.

    ​ 小刚和小强先后从文件服务器上下载了同-一个文件: Analysis.java。 小刚在Analysis.java 文件中的第30行声明了一个方法,叫count(),先保存到了文件服务器上;小强在Analysis,java文件中的第50行声明了一个方法,sum(),也随后保存到了文件服务器上,于是,count(方法就只存在于小刚的记忆中了。

    1.4需求之四:多版本项目文件管理。

    ​ 老许是一位项目经理,我会告诉你他把每一-个版本都保存一份吗?我会告诉你这些工程里其实有很多文件都是重复的吗?我会告诉你老许为这事删了很多电影吗?。

    1.5需求之五:追溯问题代码的编写人和编写时间。

    ​ 老王是另一位项目经理,每次因为项目进度挨骂之后,他都不知道该扣哪个程序员的工资!就拿这次来说吧,有个该死的Bug调试了30多个小时才知道是因为相关属性没有在应用初始化时赋值!可是.二胖、王东、刘流和正经牛都不承认是自己干的!

    1.6 需求之六:权限控制.

    ​ 小温这两天幸福的如同掉进了蜜罐里,因为他成功的得到了前台MM丽丽的芳心,可他郁闷的是这几.天总是收到QA小组的邮件,要求他修正程序中存在的Bug,可他自己本地电脑上是没有这些Bug的,“难道我的代码被哪个孙子给改了?”。是的,小温没来的时候,丽丽是QA小组小郑的女朋友啊!。

    第二章、版本控制简介

    ​ 版本控制[Revision control],最初来源于工程设计领域,是维护工程蓝图的标准做法,能追踪工程蓝图。从诞生一直到定案的过程。是一种记录若干文件内容变化,以便将来查阅特定版本修订情况的系统。Subversion就是一款实现版本控制的工具软件,通常也称为版本控制器,简称SVN。Subversion 是Apache软件基金会组织下的一个项目。

    2.1 Subversion的优良特性.

    ①目录版本控制。

    ​ CVS只能追踪单个文件的历史,但是Subversion实现了一个“虚拟”文件系统,可以追踪整个目录树的修改,文件和目录都是版本控制的,结果就是可以在客户端对文件和目录执行移动和复制命令。

    ②原子提交。

    ​ 提交要么完全进入版本库,要么- .点都没有,这允许开发者以一个逻辑块提交修改。

    ③版本控制的元数据。

    ​ 每个文件和目录都有- -组附加的“属性”,你可以发明和保存任意的键/值对,属性也会像文件内容一样被纳入版本控制。

    ④可选的网络层。

    ​ Subversion在版本库访问方面有-“个抽象概念,利于人们去实现新的网络机制,Subversion 的“高级”服务器是Apache 网络服务嶴的一一个模块,使用HTTP的变种协议WebDAV/DeltaV 通讯,这给了Subversion在稳定性和交互性方面很大的好处,可以直接使用服务器的特性,例如认证、授权、传输、压缩和版本库浏览等等。也有一个轻型的,单独运行的Subversion 服务器,这个服务器使用自己的协议,可以轻松的用SSH封装。

    ⑤一致的数据处理。

    ​ Subversion使用二进制文件差异算法展现文件的区别,对于文本(人类可读)和二进制(人类不可读)文件具备一*致的操作方式,两种类型的文件都压缩存放在版本库中,差异在网络上双向传递。

    ⑥高效的分支和标签。
    分支与标签的代价不与工程的大小成比例,Subversion 建立分支与标签时只是复制项目,使用了一种类似于硬链接的机制,因而这类操作通常只会花费很少并且相对固定的时间,以及很小的版本库空间。

    ​ SVN的工作原理:采取客户端/服务器模式--在服 务器的版本库中保存项目文件的各个版本,所有参与协同开发的程序员在自己本地电脑上保存一个工作副本。SVN支持程序员将本地副本更新到服务器端的最新版本,也支持将本地副本的最新改变更新到服务器端,而且后面的更新不会覆盖前面的更新,而是作为-一个新的版本被保存下来一一SVN甚至支持将本地工作副本恢复为服务器端保存的某一个历史版本。

    2.2 SVN基本操作

    ①检出(checkout):将一个服务器端创建好的项目整个下载到本地,这是到项目组后参与开发的第
    一步,只需执行一次。

    ②更新(update) :将本地文件更新为服务器端的最新版本,通常为每天上班时或修改公共文件之前

    一步,只需执行一次。

    ②更新(update) :将本地文件更新为服务器端的最新版本,通常为每天上班时或修改公共文件之前
    执行一次。

    ③提交(commit) :将本地修改提交到服务器端。通常每天下班前或每实现-一个功能、完成-一个模块
    时执行一次。

    第三章 、Subversion安装与配置

    3.1 安装服务器端程序

    ①服务器端程序版本。
    目前Subversion的最新版本是1.9.0-alpha2, 这是一个测试版。官方网站推荐使用的版本是1.8.9,原话是: The best available version of Apache Subversion is: 1.8.9.

    ②下载源码包。

    ​ Apache组织自己维护更新的只是Subversion的源码,各个版本的源码包的下载地址是:
    http://subversion.apache.org/download/.
    Subversion源码是使用C语言开发的。

    ③下载二进制安装包。
    Subversion在不同平台下的二进制包是由不同组织构建实现的,Windows 平台下的二进制包实现情况如下。所以,服务器端程序的下载地址可以使用:。http://sourceforge.net/projects/win32svn/files/latest/download.

    下载到的文件是: Setup-Subversion-1.8. 14.msi

    ④双击运行Setup-Subversion- 1.8.14.msi。

    ​ 不整合Apache服务器可以忽略此选项。

    ⑤安装程序会自动配置Path环境变量。
    D:DevInstallSubversionin所以bin目录下的可执行文件可以在任意目录下运行。

    ⑥验证是否安装成功。

    ​ 在命令行输入:svn --version
    ​ 看到如下信息就表示服务器端程序安装成功。

    3.2配置版本库

    ①为什么要配置版本库?。

    Subversion是将文件数据信息保存到版本库中进行管理的,为了满足用户的不同需求,Subversion允许用户对版本库目录进行定制。
    ②-一个非中文无空格目录下创建-一个文件夹,作为版本库的根目录。例如: D:DevRepositorySubversion

    ③在版本库根目录下创建与具体项目对应的子目录一--这样做的目的是使一一个SVN服务器能够同时管理多个项目,而不是为每一一个项目搭建-一个SVN服务器一--这显然太浪费资源了。。

    例如:

    D:DevRepositrySubversionCRM。客户关系管理系统 红包一系列的。
    D:DevRepositorySubversionERP。
    D:DevRepositorySubversionOA。自动化办公

    D:DevRepositorySubversionBA。经营分析系统 如运营网络,电商网站

    ④创建版本库。
    命令格式。

    ⑤版本库目录结构。

    版本库创建成功后会在指定目录下产生如下的目录结构。

    3.3启动服务器端程序

    ①SVN服务器必须处于运行状态才能响应客户端请求,帮助我们管理项目文件。所以我们必须将SVN服务器启动起来。启动SVN服务器有两种方法,一个是命令行方式,一个是注册Windows服务。

    ②命令行方式。

    [1]命令格式。

    [2]验证服务是否启动。

    SVN服务监听3690端口,打开一个新的cmd窗口,使用netstat-an命令查看3690端口是否被监

    1、IDEA配置SVN

    第一种:没有为SVN配置系统环境变量的情况下

    第二种:为SVN配置系统环境变量的情况下

    2、IDEA使用SVN第一次从服务器下载代码

    2.1、

    2.2、

    2.3、选择要导入的路径

    2.4、

    2.5、直接OK导入即可

    3、IDEA使用SVN将代码第一次上传到服务器

    3.1、

    3.2、

    3.3、输入完用户名密码后点击上传到服务器

    3.4、选择从哪个位置上传

    4、后续代码有变动时的本地上传到服务器与从服务器下载到本地

  • 相关阅读:
    【iOS开发】动态添加子视图 UIView 的正确方法
    70.容器分配ip
    79.scp命令
    78.ssh隧道
    77.手撕sql语句
    76.ssh基于秘钥形式连接
    75.python删除目录
    74.ssh服务介绍(基于密码连接)
    73.nginx跨域
    72.nginx文件配置
  • 原文地址:https://www.cnblogs.com/zhuchengbo/p/12678061.html
Copyright © 2011-2022 走看看