1---认识Git:Git的本质和历史

一、Git的本质——版本控制器:

1.1版本控制器的概念:

  • 版本控制器(Version Control System, VCS)是一种软件工具,用于记录文件的变化,以便将来可以查阅特定版本、回滚到之前的版本、比较不同版本之间的差异以及协同工作。版本控制系统在软件开发中尤为重要,因为它们帮助开发团队管理代码的演变,并在多个开发者之间协调工作。

1.2版本控制器的主要功能:

  • 版本追踪:记录每次对文件的修改,并保存不同版本的快照。
  • 分支管理:允许开发者创建、合并和删除分支,以便并行开发不同的功能或修复不同的问题。
  • 合并变更:整合来自不同开发者或不同分支的修改,解决冲突并生成一个统一的版本。
  • 回滚:恢复到之前的某个版本,以便在出现错误或问题时快速恢复工作状态。
  • 日志记录:记录每次提交的详细信息,包括修改者、修改时间和修改内容,以便进行审计和追踪。
  • 协同工作:支持多个开发者同时在同一个项目上工作,管理冲突并合并代码。

1.3常见的版本控制器:

  • Git:当前最流行的分布式版本控制系统,由Linus Torvalds创建,用于管理Linux内核的开发。Git因其速度、灵活性和强大的分支管理功能而受到广泛欢迎。
  • Subversion (SVN):集中式版本控制系统,曾经是很多项目的首选,尤其是那些需要精细访问控制的项目。
  • Mercurial:一个分布式版本控制系统,以其简洁和易用性而著称。

二、Linux之父与Git的故事:

  • Linux之父叫做“Linus Torvalds”,我们简称为雷纳斯。
  • Linux是开源项目,所以在Linux的早期开发中,许多世界各地的能力各异的程序员都参与到Linux的项目开发中。那时,雷纳斯每天都会收到许许多多邮件,里面是每个程序员自己的代码,雷纳斯要审核其中的代码并且不断添加到Linux的源码中。
  • 这种工作使得雷纳斯不断压缩自己的私人时间,终于他受不了了。于是他想要有一款分布式版本控制系统,可以让开发者在本地创建分支和进行合并操作,无需每次都与中央服务器通信。也能够让开发者可以独立工作并在本地仓库中进行提交,然后再与其他开发者同步更改
  • 于是他就找到了BitKeeper,但是BitKeeper是商业软件,需要付费使用。违背了雷纳斯对开源原则的信仰,并且使用收费的版本控制软件可能会排斥一些开发者,限制了他们参与项目的能力。于是雷纳斯和其团队决定放弃使用BitKeeper。
  • BitKeeper的老板听闻后,决定免费向Linux社区提供BitKeeper的使用权限。后来由于社区内部的一些矛盾和冲突(Linux内核开发社区中的一些成员对于依赖BitKeeper这样一个闭源的商业软件一直存在不满。他们担心使用一个闭源工具来开发开源软件会带来潜在的问题,比如数据锁定和对商业公司的依赖。于是Andrew Tridgell,知名的开源开发者(Samba项目的主要开发者之一),尝试逆向工程BitKeeper的协议以便创建一个开源的替代工具。这一举动被BitMover公司视为威胁,认为这可能违反了他们的使用协议。),最终导致BitMover公司决定收回Linux社区的免费使用权限。
  • BitMover公司撤回Linux社区免费使用BitKeeper的权限,对Linux内核的开发产生了重大影响,因为开发者们突然失去了他们依赖的版本控制工具。面对这一情况,雷纳斯迅速采取行动。决定自己开发一个新的版本控制系统。并在短短的几个星期内就完成了基本功能。且进行了开源,于是乎Git就诞生了。
  • 由于Git是开源软件,内核开发者迅速采用了它,并对其进行了改进和扩展。
  • Git不仅解决了Linux内核开发的版本控制问题,还迅速成为全球最流行的版本控制系统。现在被广泛应用于各种开源和商业项目,许多开发团队使用它来管理代码库。

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

S+叮当猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值