zoukankan      html  css  js  c++  java
  • 1.版本控制

    1.版本控制

    为什么想要版本控制

    操作麻烦每次都需要复制→粘贴→重命名
    命名不规范无法通过文件名知道具体做了哪些修改
    容易丢失如果硬盘故障或不小心删除,文件很容易丢失
    协作困难需要手动合并每个人对项目文件的修改,合并时极易出错

    版本控制软件

    版本控制软件是一个用来记录文件变化,以便将来查阅特定版本修订情况的系统,因此有时也叫做“版本控制系统”。

    版本控制软件的分类
    1.本地化

    优点: - 使用软件来记录文件的不同版本,提高了工作效率,降低了手动维护版本的出错率缺点:

    • 单机运行,不支持多人协作开发
    • 版本数据库故障后,所有历史更新记录会丢失
    2.集中化(svn)

    优点:基于服务器、客户端的运行模式

    • 服务器保存文件的所有更新记录
    • 客户端只保留最新的文件版本优点:联网运行,支持多人协作开发

    缺点:

    • 不支持离线提交版本更新
    • 中心服务器崩溃后,所有人无法正常工作
    • 版本数据库故障后,所有历史更新记录会丢失

    3.分布式(git)
    优点:基于服务器、客户端的运行模式
    ·服务器保存文件的所有更新版本
    ·客户端是服务器的完整备份,并不是只保留文件的最新版本

    • 联网运行,支持多人协作开发
    • 客户端断网后支持离线本地提交版本更新
    • 服务器故障或损坏后,可使用任何一个客户端的备份进行恢复

    svn和git的区别

    传统的版本控制系统(例如SVN)是基于差异的版本控制,它们存储的是一组基本文件和每个文件随时间逐步累积的差异。即仅存储每个版本的更改部分,在每次切换版本的时候,都需要在基本文件的基础上,应用每个差异,从而生成目标版本对应的文件。

    • 好处:节省磁盘空间
    • 缺点:耗时、效率低

    Git 快照是在原有文件版本的基础上重新生成一份新的文件,类似于备份。为了效率,如果文件没有修改,Git不再重新存储该文件,而是只保留一个链接指向之前存储的文件。

    • 缺点:占用磁盘空间较大
    • 优点:版本切换时非常快,因为每个版本都是完整的文件快照,切换版本时直接恢复目标版本的快照即可。
  • 相关阅读:
    转载-MongoDB 分片集群技术
    EXT4参数优化及测试---转载
    9.16周记
    PHP优化思路
    2018.09.10-拾遗
    周记8
    落地成盒-发快递
    周记7
    GTX log 6
    Gitlab Jenkins WebHook 持续集成配置踩坑记
  • 原文地址:https://www.cnblogs.com/singledogpro/p/15099088.html
Copyright © 2011-2022 走看看