版本控制,版本控制工具的相关知识有哪些

由于最近失业了,有时间思考人生的意义。平常除了在学习前端相关的知识,也关注一些哲学,今天看到黑格尔的这样一句话,存在即合理。和我昨天对代码版本控制很是适用。

说起来,软件行业这么多年来,用来管理软件版本的软件也是历尽沧桑。虽然,如今git已经成为了大家的主流工具,不过,我还是觉得想要学好一门技术还是要了解它的历史。毕竟一门工具的诞生一定有它的存在性,如果是一门被大家都认同并且广泛使用的工具,那么一定存在着它的合理性。优秀的工具一定是简化了人们的精力的付出(会有更多的精力去干什么)那么Git的诞生到底是处于什么目的呢?方便了谁?又有什么作用?(1)sccs(最早的版本控制)最早的版本控制是SCCS(SCCS Source Code Control )

SCCS的出现为了更好的“产出”Unix,它实现的核心思路是:每个源文件都对应着一份 SCCS 格式的文件,SCCS file format 存储了对应源文件的版本变化内容,而存储方法的实现核心是 Interleaved deltas (然而 并不知道这个词该怎么翻译)。思想是:

如果在文件的版本一中

foobar在文件的版本二中

barbaz则对应的 SCCS 格式则是

^AI 1^AD 2foo^AE 2bar^AI 2baz^AE 2^AE 1Interleaved deltas 是以变动的单位是行(lines),**即如果该行中有且只有 1 个字符改动了,那么控制版本记录的是先删掉整行内容,再将改动后的新行添加到原位置中。**其中 ^A 表示控制指令。 I 表示插入,D 表示删除,每个 I (插入指令)和 D(删除指令)都有应的结束指令,即 E (End)。后面的数字代表版本号。

在版本一中增加 foo,并在版本二中删除 foo。

在版本一中增加 bar

在版本二中增加 baz(2)rcs(本地版本控制系统)Revision Control System

原理:在硬盘上(本地,local computer)保存补丁集(文件修订前后的变化),通过所有的补丁,可以计算出各个版本的文件内容。

(3)vss(开发软件)Visual Source Safe

VSS 的全称为 Visual Source Safe 。作为 Microsoft Visual Studio 的一名成员,它主要任务就是负责项目文件的管理,几乎可以适用任何软件项目。管理软件开发中各个不同版本的源代码和文档,占用空间小并且方便各个版本代码和文档的获取,对开发小组中对源代码的访问进行有效的协调。(4)cvs(目前基本快要淘汰了)Concurrent Version System(并行版本系统)

www.cvsnt.org(跳转到了https://www.march-hare.com/cvspro/)(服务端)

http://www.tortoisecvs.org/(客户端)

(5)svn(集中化版本控制系统)Apache Subversion

原理:在一个单一的集中管理的服务器(central server),保存所有文件的修订版本。协同工作的人们都通过客户端连到这台服务器,取出最新的文件或者提交更新。

https://subversion.apache.org/(服务端)

https://tortoisesvn.net/(客户端)

(6)Mercurial(轻量级分布式版本控制系统)https://www.mercurial-scm.org/

Mercurial 是一种轻量级分布式版本控制系统,采用 Python 语言实现,易于学习和使用,扩展性强。其是基于 GNU General Public License (GPL) 授权的开源项目

(7)git(分布式版本控制系统)原理:客户端并不只提取最新版本的文件快照,而是把代码仓库完整地镜像下来。每一次的克隆操作,实际上都是一次对代码仓库的完整备份。

git相比svn的主要优点:

svn保存的是一份最新的资源,当central server数据丢失时,客户端拥有的资源只能保证最新的代码资源不丢,而代码此前的更改记录,即历史提交记录,都无法恢复。

git保存的则是服务器上所有的数据,包括工程建立之初,一直到clone之时的所有版本资源。每一个客户端,都保存了完整的历史记录及提交日志等。

总结版本控制工具经历了 SCCS → RCS → 以 CVS 为开端的集中式 → 以 Git 为主流的分布式

工具的迭代和流行一定存在着合理的原因,希望自己能够不只是单单掌握工具的使用,而且可以把握住整个工具变迁的过程,体会开发者们设计的思想。

本文来自投稿,不代表展天博客立场,如若转载,请注明出处:https://www.me900.com/326021.html

(0)

相关推荐

  • 初一拜年吉祥话(初一拜年吉祥话微信)

    #天南地北大拜年#大年初一家欢乐,事事顺利福满堂!到了大年初一开始,就是正式拉开走亲访友的序幕了!一般来说,初一这一天主要是给家中的长者长辈以及街坊邻居相互之间拜年。所以,来到家中的客人基本上是一波接一波。 家中来了贵客拜年,饮酒糖茶各种水果一定是少不了的!但是,有些食物不仅好吃美味,还被赋予“吉祥的”寓意。所以,大年初一在家待客时,别忘了桌上要摆放6种吉祥…

    2023-06-01 用户投稿
  • 博客主机,博客系统搭建

    《博客主机:从入门到精通》 一、什么是博客主机? 博客主机,也许可以简单理解为是承载博客内容的服务器。就好像我们的家需要一个房子来居住一样,博客也需要一个地方来存放它的各种信息,而这个地方就是博客主机。它提供了存储空间、带宽等资源,让我们的博客能够在互联网上被访问到。 我觉得它就像是一个幕后的工作者,默默地为博客的运行提供着支持。没有它,我们的博客就像是失去…

    2025-09-20
  • 芳华原型杨慧 ,58岁的杨慧如何保养的

    《芳华》上映后好评如潮,而电影女主的原型也备受关注。当58岁的杨慧出现在镜头前时,人们无一不被她所惊艳。都说“美人在骨不在皮”,而杨慧就是最好的例子了吧! 但其实杨慧的美不只是在外观上,是在于她的骨相非常好。骨相好的人不仅好看、耐看,而且还减龄! 骨相好看有这么几个方面: 01 额骨 眉骨高会显得眼窝比较深邃,但对我们亚洲人的审美来说,眉骨只要稍微立体一点就…

    2023-06-04 用户投稿
  • 怎么打开注册表,注册表怎么打开

    #挑战30天在头条写日记# 重点 注册表 这回我要搞个大的 啥是注了个册表 Microsoft Windows中的一个重要的数据库,用于储存系统和应用程序的设置信息。 WIN7为例,使用系统自带注册表编辑器可以导出一个扩展名为.reg的文本文件。 那么啥是注册表呢看看更清楚。 ①单击【开始】按钮,弹出菜单【搜索框】中输入“regedit”回车。 ②选择【开始…

    2023-06-29 用户投稿
  • 笔记本性能排行榜,笔记本cpu天梯图2023

    笔记本电脑作为现代人们生活工作中必不可少的工具,其性能一直是大家所关注的焦点。其中最重要的部分便是CPU,也就是中央处理器。在这篇文章中,我们将讨论笔记本电脑CPU的性能表现,并介绍笔记本CPU天梯图。 首先,我们需要了解什么是CPU。CPU是一台计算机的大脑,它负责执行计算机程序中的指令。在笔记本电脑中,CPU的性能表现直接影响到电脑的速度和响应能力。因此…

    2023-06-27
  • 牛樟芝功效与作用,牛樟芝什么人不能吃

    很多人常感觉身体不适,但到医院又检查不出毛病,这就是一般所谓的「亚健康状态」。牛樟芝在消除疲劳,提升肝脏功能方面是目前同类产品中效果最明确的,在学界背书及商业行销的推波助澜下,牛樟芝已取代灵芝成为国内接受度最高的保健菇类产品。效果明确的牛樟芝的确值得推广,但目前所有的学术研究都只探讨它的功效与优点,牛樟芝的可能副作用,正确的服用方法,及是否适合长期食用等问题…

    2023-06-26
  • 便宜的英语怎么读(便宜的英语怎么读cheaplg)

    C cabbage 卷心菜;洋白菜 cake* 蛋糕 calendar 日历 call* 称作;打电话;呼喊;(短暂)拜访 calm 沉着的;平静的;使平静 camera 照相机 camp 营地;野营;扎营 can* (可能性)可以;能; (请求)可以;罐;听 cancel 取消;撤销;终止 cancer 癌症 candle* 蜡烛;烛光 candy* 糖果…

    用户投稿 2023-05-24
  • 养30只兔子的利润(养兔子的成本)

    养兔子赚钱吗?随着人们需求量的稳步增长,兔肉市场开始供不应求,这让不少投资者萌生了养殖兔子赚钱的想法。那么养兔子赚钱吗?养兔子的成本有多高, 利润有多高? 养殖兔子赚钱吗? 养兔子会赚钱是从多个方面赚来的。 一是节约成本和费用开支。 二是从兔子的繁殖率和成活率得来的。 三是从兔子的生长发育快得来的。 四是从出售兔子的市场价格机遇得来的。 多个方面结合起来共同…

    2021-11-01
  • 同一ip网站,同一个ip下有多网站好吗

    《关于“同一IP网站”的深入探讨》 一、同一IP网站的基本概念同一IP网站,简单来说,就是在互联网上使用相同IP地址的多个网站。IP地址就像是网站在网络世界中的门牌号,通过它可以找到对应的网站。也许你会疑惑,为什么会有同一IP地址的多个网站呢?这可能是由于服务器的配置或者网络架构的原因导致的。就好像一个大型的购物中心,里面有很多不同的店铺,但它们都在同一个建…

    用户投稿 2025-10-09
  • 虚拟化的概念,虚拟化的多种实例有哪些

    当亚马逊公司宣布将裸机实例添加到AWS云平台的服务器选项组合时,此举引发了许多猜测。例如,它是否会对主机和托管提供商产生影响?因为有传统上物理服务器一直是这些公司的主要业务。 亚马逊公司在去年11月举行的re:Invent会议上推出了其新的裸机(Bare Metal)服务,使用户能够访问物理服务器,而不是以往提供的虚拟机实例。虚拟机实例通常只提供运行它们的?…

    用户投稿 2023-07-09
  • 淘宝店铺公告栏,淘宝店铺公告栏在哪个位置看

    《淘宝店铺公告栏:不容忽视的店铺营销利器》 在淘宝店铺的运营过程中,公告栏往往容易被忽视,然而它却可能是一个极具价值的营销利器。 或许很多店主都觉得公告栏只是一个简单的通知区域,放置一些店铺的规则和活动信息罢了。 但实际上,通过巧妙地利用公告栏,我们也许能为店铺带来意想不到的效果。 一、公告栏的位置与作用 淘宝店铺的公告栏通常位于店铺首页的上方或侧边栏,它是…

    用户投稿 2025-05-19
  • 广州工商红盾网服务内容 解决企业持牌经营难

    文/Autodealer 9月22日-23日,由中国国际贸易促进委员会汽车行业委员会指导,Autodealer中国汽车经销商主办,山东省即墨市人民政府提供特别支持,中国国际贸易促进委员会即墨市支会、V车圈协办,北京微车界信息技术有限公司承办的2017“第三届中国汽车互联网 创新大典”暨创新100强发布在山东即墨隆重举办。 同盾科技汽车金融事业部总经理王泽延 …

    用户投稿 2023-05-24