什么是版本控制?

版本控制是记录一个或若干文件内容变化的系统、以便将来查阅特定版本修订情况、

版本控制,就像是一本历史书,记录了软件版本的迭代过程。

为什么需要“版本控制”

需要清晰的保存某些文件的不同修订版本

控制文件的发展过程,找出导致bug的原因。

轻松将项目或者文件恢复到指定版本

极大方便团队之间协同开发,防止出现混乱。

在工作中,时刻谨记数据无价,再怎么备份也不足为过。

版本控制史:

原始社会:复制+粘贴+备份时间

奴隶社会:本地版本控制系统(rcs)

封建社会:集中化的版本控制系统(CVS,subversion以及perdorce等)

共产主义:分布式版本控制系统(Git,mercurial,bazaar以及Darcs)

哥哥版本控制系统的特点

  1. 本地版本控制:是本地化的版本控制系统,没有网络协作等较为先进的版本控制的概念、
  2. 集中式版本控制:是有一台版本控制服务器运行在那边存放并提供一个项目中所有版本文件的服务,在在很长一段时间内占据主流,其中CVS与SVN为代表。
  3. 分布式版本控制:客服了集中式版本控制可能因为单点失败造成的巨大损失的缺点,在分布式版本控制系统中,任何一台机器都可以视为版本控制服务器。

Svn结构体系,他时一个开放源代码的版本控制系统,他采用了分支管理系统,他的设计目标就是取代CVS

简单来讲,SVN就是用于多人协作开发同一个项目,达到共用资源的目的。

组成结构:

SVN服务器(核心)

Svn客户端(由服务器分配读写权限)

下载地址:https://www.visualsvn.com/downloads/

Users 用户节点 。

Groups   小组。

Yft    yangfangtao

小乌龟:

https://sourceforge.net/projects/tortoisesvn/files/latest/download?source=top3_dlp_t5

使用TortoiseSVN管理代码

检入检出

添加忽略项

添加新增文件到版本控制中(检入)

从版本控制中删除已有文件

从版本控制恢复已删除的文件(TortoiseSVN->显示日志)

SVN的学习以及使用!的更多相关文章

  1. SVN的学习

    SVN是Subversion的简称,是一个开放源代码的版本控制系统,相较于CVS,它采用了分支管理系统,它的设计目标就是取代CVS 为什么需要SVN 通常软件开发由多人协作开发,如果对代码文件.配置文 ...

  2. SVN的学习和安装

    SVN分为服务器版本和客户端版本 服务器:VISUALSVN SERVER https://www.visualsvn.com/server/download/ 安装和配置(都很简单,只要不断的下一步 ...

  3. Git 与 SVN 命令学习笔记

    一:Git git config --global user.name "you name"   #设置用户名git config --global user.email &quo ...

  4. Mac svn使用学习-3-客户端调用服务端简单例子

    既然在前一篇内容中我们已经讲svn服务器搭建好了,那么接下来我们试着试着简单使用一个该服务器 1.从本地导入代码到服务器上 userdeMBP:~ user$ svn import /Users/us ...

  5. Mac svn使用学习-2-服务端

    2.在mac环境下搭建一个SVN服务器环境 1)创建一个名为myCode的仓库——svnadmin命令 格式: svnadmin SUBCOMMAND REPOS_PATH [ARGS & O ...

  6. Mac svn使用学习-1-简介

    在Windows环境中,可以使用TortoiseSVN来搭建svn环境.但是由于Mac自带了svn的服务器端和客户端功能,因此可以直接使用svn功能. svn即subversion,Subversio ...

  7. Mac svn使用学习-4-客户端cli命令详解

    客户端cli的使用 WC:Working Copy 你的工作区 将文件或目录版本化,这样下一次提交到存储库的时候,他们就都会被提交上去.能实现版本化的命令有: add 1.import 是否访问存储库 ...

  8. SVN 使用学习记录

    一.基本SVN操作 安装了SVN之后,在本机上点击右键,就能够看到如下信息: 1.建立SVN Repository 下面来建立一个SVN Repository.这个文件夹是同步用的,你可以放在本机的任 ...

  9. SVN学习——简单入门之创建仓库、导入、检出(一)

    从刚刚参加工作就开始使用svn,清晰的记得那年师姐比较生气的来找我:“你怎么又不更新就提交代码了,把我写的都给覆盖掉了”,哈哈~ 虽然一直在用svn,不过在日常工作中主要用到的是简单的操作,而且大多数 ...

随机推荐

  1. CMA-连续内存分配

    CMA: Contignous Memory Allocator,连续内存分配,一般是分配给Camera,HDMI等使用,避免预留大块内存 1.声明连续内存 使用dma_contignous_rese ...

  2. Angular DirtyChecking(脏值检查) $watch, $apply, $digest

    Dirty Checking (脏值检查) Digest cycle and $scope Digest cycle and $scope First and foremost, AngularJS ...

  3. Weex-进阶笔记二

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Helvetica; color: #945200 } p.p2 { margin: 0.0p ...

  4. ubuntu 安装python mysql模块

    Installation Starting with a vanilla Lucid install , install pip and upgrade to the latest version: ...

  5. handler消息机制

    MessageQueue代码:http://grepcode.com/file_/repository.grepcode.com/java/ext/com.google.android/android ...

  6. CascadeType

    当Hibernate配置了(JPA注解) cascade = { CascadeType.PERSIST, CascadeType.MERGE } 调用保存时 session.save(user); ...

  7. 关于通过addClass与removeClass用jquery控制有良好兼容的CSS3样式

    hi:)好久不见~最近被jquery的animate对某些CSS3特性不兼容搞的头晕眼花,果断百度,阅读了一些高手的博客后突然发现平常很少用到的addClass和removeClass属性居然还可以这 ...

  8. Class.forName()

    主要功能 Class.forName(xxx.xx.xx)返回的是一个类 Class.forName(xxx.xx.xx)的作用是要求JVM查找并加载指定的类, 也就是说JVM会执行该类的静态代码段 ...

  9. POJ 1740 A New Stone Game(多堆博弈找规律)

    传送门 //有n堆,AB轮流从n堆的一堆中移任意个,可以扔掉,也可以移给其他堆中的一堆 //最先移完的胜 //如果n堆中两两堆数目相等,那肯定是B胜 //但只要有非两两相同的,如xyz,A先, //A ...

  10. Java 集合 散列表hash table

    Java 集合 散列表hash table @author ixenos 摘要:hash table用链表数组实现.解决散列表的冲突:开放地址法 和 链地址法(冲突链表方式) hash table 是 ...