SVN学习简单认识

目录

一、概述

1.概念:

2.应用场景

3.为什么要用SVN

二、应用

项目经理任务

组员和项目经理共同任务

三、SVN的作用

1.实现项目组中的资源共享

2.实现资源文件的版本控制

四、SVN的工作原理

五、操作

操作流程

常见的操作如下:

六、SVN与GIT的区别

SVN是集中式版本控制系统

优点:

缺点:

后序:


一、概述

1.概念:

SVN是subversion的缩写,是一个开放源代码的版本控制系统,通过采用分支管理系统的高效管理,简而言之就是用于多个人共同开发同一个项目,实现共享资源,实现最终集中式的管理。

2.应用场景

  • 协同开发
  • 远程开发
  • 版本回退

3.为什么要用SVN

几乎是每个稍微大一点的项目都需要对个人进行协同开发,整个开发过程会对项目进行很多次的变更,如果每个开发人员分不好工在修改或其他操作时就导致程序混乱,数据丢失等情况。所以SVN可以在开发项目前搭建好环境,部署好系统的框架,由项目组长给组员分工,在开发过程自己负责自己的模块,而且SVN可以记录每次修改的情况,当开发的新版本不适应的时候可以返回到之前的某个旧版本,有后悔药可吃。

二、应用

项目经理任务

由项目经理或者负责人搭建好服务器,

 

 

组员和项目经理共同任务

三、SVN的作用

1.实现项目组中的资源共享

2.实现资源文件的版本控制

四、SVN的工作原理

在Subuersion管理下,文件和目录可以超越时空,Subersion将文件中心版本库里,整个版本库很像一个普通的服务器,不同的是,他可以记录每一次文件和目录修改的情况,这样可以借此将数据恢复的以前的版本,并可以查看数据的更改细节。正因为如此,许多人将版本控制系统当作一种神奇的“时间机器”。

五、操作

操作流程

常见的操作如下:

  • checkout(检出)项目
  • 增加文件或目录 — add(增加),commit(提交)
  • 修改文件或目录 — commit(提交)
  • 删除文件或目录 — commit(提交)
  • 更新文件或目录 — update(更新)

其中,checkout只进行一次,以后使用update更新即可。update、commit、add操作根据需要会经常使用。

简单来说可以这样理解:

  • 项目中增加了文件或目录,需要先通知服务器要增加,所以首先要 add
  • 然后如果要让服务器知道这些变动,就 commit,具体参加下面的命令
  • 如果要从服务器获取最新的代码,就 update

首先checkout出$appname的svn仓库。

$ svn checkout https://svn.sinacloud.com/$appname

 

进入代码目录,创建一个新的子目录 1 作为版本1的代码目录。

$ mkdir 1

进入版本1的代码目录,编辑代码并版本1的代码部署到线上。

$ svn add .
$ svn commit -m "make it better"

 

六、SVNGIT的区别

SVN是集中式版本控制系统

SVN版本控制系统是集中式的数据管理,存在一个中央版本库,所有开发人员本地开发所使用的代码都是来自于这个版本库,提交代码也必须提交到这个中央版本库。

优点:

对于某些项目的核心代码或者是一些重要的保密性要求较高的项目,svn比git更适合。

  • svn支持空目录
  • svn有更好的windows平台支持
  • svn可以check out/clone一个子树(sub-tree)
  • svn支持特权访问控制svn lock,在处理很难合并的文件时非常有用
  • svn支持二进制文件,更容易处理大文件(不需要把老版本拷来拷去)
  • 学习简单、使用简单
  • 操作简单,入门容易,速度快,安全性高,支持跨平台操作(window,linux,MacOS),支持版本回退功能

缺点:

  • 无网的情况下:无法提交代码,无法查看代码的历史版本、无法同步代码
  • 代码要定期做备份(所有的代码数据及版本变更记录)
  • 分支切换缓慢
  • 由于每次提交都会保留一个原始副本,因此SVN的数据库容量会暴增。尤其是在开发人员非常多的情况下。

后序:

有人说SVN是CVS的继承人,也有人说不是,以后学习的时候慢慢体会,也欢迎大家留下你们看法。

 

发布了137 篇原创文章 · 获赞 55 · 访问量 16万+

猜你喜欢

转载自blog.csdn.net/yyp0304Devin/article/details/95600685
今日推荐