Git 的历史

前言 

       在版本控制系统之前,软件开发人员没有一种有效的方式来协作处理他们的代码。不同地软件开发人员经常会在相同地代码上同时开发相同地功能,从而浪费了很多时间。此外开发人员还会通过U盘进行代码地分享和备份。这种方式对于小团队管理一些小地项目还是可以地。但是如果是一个大的团队协同开发大的项目就有些困难了。基于这些问题地存在,所以开发人员需要一个版本控制系统来帮助他们开发代码时,能够有效地协作并且能够使得项目各个版本得到备份。

Git 的诞生背景

       2005年4月之前,Linus Torvalds一直使用BitKeeper进行Linux内核开发的版本控制。他有大量的志愿开发人员在Linux内核上工作,他们的贡献必须得到管理。BitKeeper是管理开发人员巨大贡献的好工具。在双方达成协议后,Linux开发人员免费使用该工具,因为BitKeeper是一个专有的源代码控制管理系统,这意味着您必须为使用该工具付费。在Andrew Tridgell创建了一个开源客户端,通过对BitKeeper协议进行逆向工程来访问Bitkeeper版本控制系统之后,出现了利益冲突。这导致版权所有者撤回了他们之前商定的免费使用政策。 许多Linux内核的开发人员放弃了对BitKeeper的访问权限。 

Linux 知道他必须迅速采取行动来更换他熟悉和喜爱的版本控制系统,因此他休了一个工作假期来决定做什么,因为当前免费使用的版本控制系统无法解决他当时的问题。他休假的结果是一个名为Git的新版本控制系统的诞生。 

他有一些关于如何制作下一个版本控制系统来管理像他自己的大型项目的目标。他着手构建一个与并发版本系统 (CVS) 完全相反的版本控制系统,它可以像 BitKeeper 一样支持分布式版本控制系统,并且包含非常强大的防止意外或恶意损坏的保护措施。 Git 的初始开发始于 2005 年的 4 月 3 日。 4 月 6 日发布了该项目的公告,并于次日开始托管。那年晚些时候,Linux Torvalds 在执行基准测试并管理内核 2.6.12 版本后实现了性能目标。自 2005 年 7 月 26 日起,维护工作移交给 Junio Hamano,他是该项目的主要贡献者(负责 1.0 发布)并仍然是该项目的核心维护者。 

公司聘请了其他几位志愿者贡献者来改进 git,例如 Jeff King 在他还是学生的时候就开始贡献,Shawn Pearce 通过他在 JGit 上的工作将 git 开放到 android 和 java 生态系统,以及 Johannes Schindelin 开放向 windows 社区介绍他在 git for windows 上的工作。在 Tom Preston-Werner 被同事介绍给 Git 之后,2007 年底,Preston-Werner 与 Chris Wanstrath、Scott Chacon 和 PJ Hyett 合作开始开发 GitHub。他看到了提供基于 git 和现代 Web 界面的源代码托管的必要性。如今,GitHub 拥有比其竞争对手更多的开发人员。谷歌于 2009 年 3 月率先在其基于 Linux 的操作系统 Android 中采用了 git。

当时的 Git 被认为无法管理如此庞大的项目,该项目由世界各地的许多开发人员组成,致力于一个开源项目。所以他们构建了 Repo,这并不是为了取代 git,而是为了让 Git 更容易使用。微软在几年后效仿,尽管他们以鄙视开源工具而闻名。然而,公司的文化发生了转变,他们开始通过为 Git 开发资源库 libgit2 做出贡献来拥抱开源,以帮助加速 Git 应用程序,但微软对 git 普及的主要推动力是在 2017 年,当时整个开发工作都在Microsoft Windows 产品套件迁移到 git,它创建了世界上最大的 git 存储库。微软将于 2018 年 6 月晚些时候以 75 亿美元的微软股票收购 GitHub。这让开发社区感到惊讶,因为微软之前以反对开源而闻名,这让许多开发人员产生怀疑并迁移到其他平台。

Git 相关介绍

  • Git 是一个免费的开源分布式版本控制系统,旨在快速高效地处理从小型项目到大型项目的所有内容。
  • Git 依赖于软件分布式开发的基础,其中不止一个开发人员可以访问特定应用程序的源代码并可以修改其他开发人员可能看到的更改。
  • 最初由 Linus Torvalds 于 2005 年为 Linux 内核开发而设计和开发。
  • 每个 git 工作目录都是一个成熟的存储库,具有完整的历史记录和完整的版本跟踪功能,独立于网络访问或中央服务器。
  • Git 允许一群人一起工作,所有人都使用相同的文件。它还可以帮助团队应对多人编辑同一文件时容易出现的混乱。

Git 的特点

1. 强大的非线性开发支持(允许成千上万个并行开发的分支)

2. 分布式开发

3. 与现有系统/协议的兼容性

4. 高效处理大型项目

5. 数据保证

6. 自动垃圾收集

7. 定期显式对象打包

Git 的未来

今天 git 和 GitHub 正在接管世界,因为许多开发人员正在采用 git 和 GitHub 进行版本控制。据统计,大约有5600万开发者。开发人员确实在改变世界,而 Git 和 GitHub 是这个故事的一部分。软件开发有着光明的未来,我很高兴看到微软这家软件公司在未来几年将与 GitHub 合作。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值