• 版本控制简介和工具


    一、知识点

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

    > 实际上可以对任何类型的文件进行版本控制。

    1.1 特点

    • 每次修改后进行提交,这样就可以在需要的时候将某个文件回溯到之前的状态。
    • 可以比较文件的变化细节,查出最后是谁修改了哪些地方,从而找出导致怪异问题的原因。
    • 就算你胡乱地把整个项目的文件改得面目全非,你照样可以轻松恢复到原来的样子。

    二、版本控制方案

    2.1 本地版本控制

    • 大多都是采用某种简单的数据库来记录文件的历次更新差异。
    • 其中最流行的一种叫RCS,现今许多计算机系统上都还看得到它的踪影。 甚至在流行的 Mac OS X 系统上安装了开发者工具包之后,也可以使用 rcs 命令。

    本地版本控制

    2.2 集中化的版本控制

    • 解决不同系统上的开发者协同工作。
    • 管理员可以轻松掌控每个开发者的权限。
    • 代表软件:CVSSubversionPerforce
    • 多年以来,这已成为版本控制系统的标准做法。

    事分两面,有好有坏。 这么做最显而易见的缺点是中央服务器的单点故障。如果宕机一小时,那么在这一小时内,谁都无法提交更新,也就无法协同工作。 如果中心数据库所在的磁盘发生损坏,又没有做恰当备份,毫无疑问你将丢失所有数据——包括项目的整个变更历史,只剩下人们在各自机器上保留的单独快照。

    集中化版本控制

    2.3 分布式版本控制

    • 客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。
    • 每一次的克隆操作,实际上都是一次对代码仓库的完整备份。
    • 任何一处协同工作用的服务器发生故障,事后都可以用任何一个镜像出来的本地仓库恢复。
    • 代表软件:GitMercurialBazaar 以及 Darcs

    许多这类系统都可以指定和若干不同的远端代码仓库进行交互。籍此,你就可以在同一个项目中,分别和不同工作小组的人相互协作。 你可以根据需要设定不同的协作流程,比如层次模型式的工作流。

    分布式版本控制

    三、流行的版本控制软件

    3.1 Git

    > Git是开源的分布式版本控制系统。

    > Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    > Git是用C语言开发的。

    在windows上的安装

    Git for Windows - msysGit

    TortoiseGit - 右键菜单式简易操作

    在Linux上的安装

    > Git 官方网站上有在各种 Unix 风格的系统上安装步骤,网址为 http://git-scm.com/download/linux

    在Mac上的安装

    > 最简单的方法是安装 Xcode Command Line Tools。

    Mavericks (10.9) 或更高版本的系统中,在 Terminal 里尝试首次运行 git 命令即可。

    官方维护的 OSX Git 安装程序

    3.2 SVN

    > SVN是一个开放源代码的版本控制系统。

    > SVN采用了分支管理系统,它的设计目标就是取代CVS。

    > SVN可以针对各个目录分别进行权限控制。

    在Windows上的安装

    服务端 - VisualSVN Server

    客户端 - TortoiseSVN

    VS插件 - VisualSVN for Visual Studio X

    四、 参考资料

    • Git-Book - The entire Pro Git book, written by Scott Chacon and Ben Straub and published by Apress, is available here.
  • 相关阅读:
    javaTemplates-学习笔记三
    索引
    WTForms
    session权限限制
    vue-cli脚手架项目中组件的使用
    vue补充
    表单输入绑定
    vue指令系统介绍
    vue-cli脚手架安装和webpack-simple模板项目生成
    rest-framework之视图
  • 原文地址:https://www.cnblogs.com/yokeqi/p/11906977.html
Copyright © 2020-2023  润新知