当前位置:  开发笔记 > 程序员 > 正文

备份和版本控制之间是否存在根本区别?

如何解决《备份和版本控制之间是否存在根本区别?》经验,为你挑选了3个好方法。

版本控制与普通备份有何不同?

让我们忘记功能装饰,专注于版本控制的灵魂.在将备份称为VCS之前,备份是否必须交叉?或者,它们对于不同的目标市场而言,同样重要吗?

如果存在根本区别,那么达到版本控制状态的绝对最低要求是什么?

当您回答时,请不要只列出大多数版本控制系统已经或应该具有的功能(例如增量压缩,分布式/中央存储库和并发访问解决方案),除非它们根据定义实际上是VCS所必需的.



1> Joonas Pulak..:

版本控制的基本思想是管理同一信息单元的多个修订.备份的想法是将最新版本的信息复制到安全位置 - 旧版本可以被覆盖.


-1好的备份系统将存储多个版本.这很重要,因为通常不会立即注意到数据丢失.如果当您发现损坏了重要文件时,最近的备份可能已经包含损坏.
我实际上不同意这个定义.您将备份的使用局限于一个特定问题,即在某种数据丢失后恢复.可以出于各种原因进行备份,并保留某些内容的历史记录.在这种情况下,您无法覆盖旧版本.

2> Ash..:

执行分支和合并的功能将版本控制系统与普通备份分开."多个并发宇宙".

另请参阅Eric Sink的优秀版本/源代码控制指南.



3> Jörg W Mitta..:

我看到备份和版本控制之间存在几个根本区别:

    备份仅存储最新版本,或者即使它们存储多个版本,它们也不会存储每个版本.VCS 确实存储了每个版本,

    该备份版本通常是过时的,因为备份不会记录每个更改,而VCS会记录,

    VCS允许同时追求同一变更的多个替代版本(即分支).

但是,备份和VCS之间最重要的区别在于,在VCS中,更改具有意义.在备份中,制作了一个新版本,因为某个计算机某处决定x自上次备份以来已经过了几个小时; 变化本身完全没有意义.在VCS中,制作了一个新版本,因为有些认为这个版本有其自己的含义,它自己的身份,与所有其他版本不同.因此,在备份中,所有版本都是相同的(更确切地说:它们同样毫无意义),而在VCS中,所有版本都是特殊的(它们具有自己独特的含义).在VCS中,更改具有实际历史记录,一个事件导致另一个事件,在备份中只有一系列不相关的事件.

与此密切相关的是变更元数据的概念.在VCS中,每个更改都有作者,时间戳,最重要的是提交消息.此提交消息记录了更改的原因,换句话说,它记录了我在上一段中所写的"含义".

提交历史,特别是提交信息是在VCS库中最重要的数据,而不是实际的代码本身!备份中完全没有此元数据.

推荐阅读
殉情放开那只小兔子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有