问题

git是Linus一个人开发出来的吗?

回答
很多人可能只知道Linus Torvalds是Linux的创造者,也顺理成章地认为Git也是他一个人从零开始捣鼓出来的。这不无道理,因为Linus在Git的早期开发中确实扮演了绝对核心的角色,可以说没有他,就没有Git的今天。

事情是这样的,在2000年代初期,Linux内核的开发已经相当庞大了。全球有成千上万的开发者贡献代码,大家都在用一个叫做 BitKeeper 的商业版本控制系统来管理这么庞杂的项目。BitKeeper 在当时是一个相当先进的工具,但它毕竟是收费的,而且授权也比较复杂。

到了2005年,因为一些原因,BitKeeper 的提供商取消了对 Linux 内核开发团队免费使用 BitKeeper 的许可。这下可就麻烦了,没有一个像样的版本控制系统,Linux 内核的开发就没法继续下去了。Linus Torvalds 面对这个困境,非常直接地表示:“我们得自己做一个。”

于是,Linus 就一头扎进了 Git 的开发。他从头开始设计,用 C 语言编写,目标非常明确:速度快,效率高,能够胜任处理 Linux 内核这样庞大且活跃的项目。他在极短的时间内就开发出了 Git 的核心功能,包括分布式版本控制、分支管理、合并等等。你可以想象一下,一个项目能处理如此复杂的代码协作,并且能在几个月内就初具规模,这绝对是天才级别的工程。

然而,说 Git 是“Linus 一个人开发出来的”,可能有点过于简化了。虽然 Linus 是那个提出想法、设计核心架构、并完成绝大部分早期核心代码的“灵魂人物”,但一旦 Git 成型,并且被 Linux 内核开发社区广泛采用后,其他开发者也迅速加入了进来。

就像 Linux 内核一样,Git 的发展也是一个集体的力量。一旦有了 Linus 奠定的坚实基础,很多有才华的开发者就开始围绕着 Git 贡献自己的力量。他们修复 Bug、添加新功能、优化性能、开发周边工具,比如 Git GUI 客户端、Git 服务器等等。这些贡献者来自世界各地,他们对 Git 的发展起到了至关重要的作用。

所以,准确地说,Git 的诞生和早期核心的建立很大程度上归功于 Linus Torvalds 的个人能力和决断,他是毋庸置疑的创造者。但 Git 能够发展到今天这样强大和普及,背后也有着一个庞大且活跃的社区在不断地贡献和完善。就像一棵大树,Linus 是播下种子、培育幼苗的人,而无数的开发者则是后来为它浇水、施肥、修剪枝叶,让它茁壮成长的人。

网友意见

user avatar
git是怎么发展起来的,最初版本是linus一个人写的吗?他用多久写到什么程度了?

类似的话题

  • 回答
    很多人可能只知道Linus Torvalds是Linux的创造者,也顺理成章地认为Git也是他一个人从零开始捣鼓出来的。这不无道理,因为Linus在Git的早期开发中确实扮演了绝对核心的角色,可以说没有他,就没有Git的今天。事情是这样的,在2000年代初期,Linux内核的开发已经相当庞大了。全球.............
  • 回答
    在 Git 的世界里,“客户端”和“服务端”的概念,就像一把双刃剑,用得不恰当,容易让人一头雾水。但如果我们仔细剖析,就会发现 Git 本身的核心,其实更偏向于一个“强大的本地工作站”,而我们通常所说的“服务端”,更多的是指托管 Git 仓库的远程服务器,它扮演的是一个集中协调和共享的角色。咱们先别.............
  • 回答
    Git stash 的核心思想是将你当前工作目录中尚未提交的修改(包括已暂存和未暂存的文件)暂时“打包”起来,恢复工作目录到上一个提交的状态,以便你能够切换到其他分支进行操作,或者执行一些需要干净工作目录的操作。当你需要这些修改时,再将它们“解压”回来。想象一下,你正在辛勤地修改代码,可能已经修改了.............
  • 回答
    在 Git 的开发流程中,`rebase` 和 `merge` 是两种最常用的合并分支策略。选择哪种策略,很大程度上取决于团队的开发习惯、项目的需求以及你希望达到的提交历史的清晰度。理解它们的原理、优缺点以及适用场景,能够帮助我们更有效地管理代码。 Git Merge:将分支历史“合并”到一起核心思.............
  • 回答
    说起 Git,很多人脑子里第一个冒出来的就是 `git add`, `git commit`, `git push`, `git pull` 这些基本操作。但 Git 远不止于此,它就像一个功能丰富的瑞士军刀,隐藏着许多能让你的开发流程如丝般顺滑的“黑魔法”。今天,咱们就来聊聊那些藏在角落里的 Gi.............
  • 回答
    Git 就像一枚硬币,有光明的一面,也有不那么光彩的一面。对于很多开发者来说,它已经成为一种几乎不可替代的工具,但要说它完美无缺,那可就有点言过其实了。首先,Git 的学习曲线确实比较陡峭。尤其对于初学者来说,那些诸如 `rebase`、`cherrypick`、`reflog` 这样的命令,以及背.............
  • 回答
    Git,这个我们日常开发离不开的工具,确实已经足够强大,但要说它一点瑕疵都没有,那也未必。回想一下,我们在使用Git的过程中,有没有过一些让人抓狂的时刻?比如,当你的项目历史变得无比复杂,充斥着各种小提交、合并冲突的痕迹,想要理清楚某个功能的演进过程,简直像是在一本写满涂鸦和修改痕迹的书里找寻一段清.............
  • 回答
    说Git算不算程序员的必备技能? 我觉得,如果一个程序员想要在这个行业里走得更远,并且能够和别人顺畅、高效地协作,那么Git几乎是绕不开的。想象一下,你一个人开发项目,文件改来改去,突然发现某个改动不对劲,想要回退到上一个状态,如果没有Git,你可能只能手动备份,或者祈祷自己记得所有改动。但一旦项目.............
  • 回答
    这事儿说起来,得从 Git 和 SVN 的底层设计思路说起。SVN 呢,它是一个集中式版本控制系统。你可以想象成一个大公司,所有人都得对着一个中央服务器来提交代码,提交的时候,你的代码直接替换了服务器上的版本,就像你把你的工作成果直接塞进老板办公室的文件柜里一样。在 SVN 里,合并分支就像是让你的.............
  • 回答
    Git之所以能成为当下主流的源代码管理工具,绝非偶然,而是它在设计理念、功能特性以及社区生态等多方面因素共同作用的结果。首先,我们得回顾一下它诞生之前,主流的源代码管理方式。那时候,像CVS、SVN这样的集中式版本控制系统(CVCS)是市场上的主要玩家。它们的核心模式是有一个中央服务器,所有开发者都.............
  • 回答
    在Git的世界里,管理团队成员对代码库的访问权限,并非Git本身直接提供“用户管理”和“角色分配”这样中心化的系统。Git是一个分布式的版本控制系统,它的核心功能在于跟踪代码变更,而不是在一个统一的服务器上管控谁能做什么。那么,我们是怎么通过Git来控制成员权限的呢?这其实是 结合了Git的服务器端.............
  • 回答
    Git 是当前最流行且功能强大的分布式版本控制系统(DVCS),它在软件开发中扮演着核心角色。使用 Git 管理源代码具有以下显著优势,这些优势不仅提升了开发效率,也保障了代码的可维护性和团队协作的可靠性: 1. 分布式版本控制(Distributed Version Control) 本地仓库独立.............
  • 回答
    说起 Git,很多人脑海里第一个浮现的词可能就是“命令行”。是不是觉得那些敲击键盘、一行行命令的画面自带一种高冷范儿?就像武侠小说里,高手过招,只用招式,没有花里胡哨的道具。那么,问题来了:用 Git 真的就非命令行不可吗?用命令行就一定“高贵”吗?咱就掰开了揉碎了聊聊。Git 和命令行:不得不说的.............
  • 回答
    要理解 Git 的分布式,我们首先要理解 Git 不是一个集中式的版本控制系统,而是分布式的。这是 Git 最核心、最革命性的特性之一。下面我将从多个角度详细阐述 Git 的分布式概念: 1. 与集中式版本控制系统(CVCS)的对比在深入 Git 的分布式之前,我们先回顾一下传统的集中式版本控制系统.............
  • 回答
    要让 `git status` 在 Linux 环境下始终显示状态,可以通过以下几种方法进行配置和调整。以下步骤详细说明如何确保每次运行 `git status` 时都显示完整的状态信息: 1. 使用 `git status fullstatus` 显示所有文件状态默认情况下,`git status.............
  • 回答
    集成 Git 是现代 IDE(集成开发环境)的重要功能之一,其必要性取决于开发场景、团队协作需求以及项目规模。以下从多个维度详细分析 Git 集成的必要性、优势和适用场景: 一、Git 集成的必要性1. 协作开发的核心工具 团队协作:在多人协作的项目中,Git 是唯一可行的版本控制系统。没有 .............
  • 回答
    写好 Git commit log,绝不是一件可有可无的小事。它更像是一门艺术,一种与未来自己和团队沟通的技艺。一个清晰、有条理的 commit log,能够让你在回顾历史时事半功倍,也能让你的团队成员更轻松地理解你的工作,从而提高整个项目的效率和可维护性。我个人在 Git commit log 的.............
  • 回答
    磨砺你的代码操控术:一份实战向的 Git 学习指南想要在开发的世界里如鱼得水,Git 绝对是你必须掌握的核心技能。它不仅仅是一个版本控制系统,更是一种强大的协作工具,是保障你代码安全、项目有序推进的基石。别被那些“高深莫测”的 Git 命令吓到,其实,掌握 Git 的精髓,就像学习骑自行车一样,一开.............
  • 回答
    别再让“冲突”二字束缚你:攻克 Git 冲突恐惧症的实战指南我知道,当你看到屏幕上那醒目的 `<<<<<<< HEAD`,`=======`,`>>>>>>> [branchname]` 时,心里都会咯噔一下。仿佛面前出现了一道难以逾越的鸿沟,脑海里瞬间涌现出无数个“我把代码弄坏了怎么办?”、“这要.............
  • 回答
    你有没有遇到过这种情况:兴冲冲地合并了一个 `pull request`,却在提交历史里发现了一堆不该出现的敏感信息,比如密码、API密钥或者其他私密数据?这时候怎么办?别急,今天咱们就来聊聊如何清理这些“不速之客”,让你的 Git 历史重新变得干净整洁。为什么会出现这种情况?通常,这些敏感信息出现.............

本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度google,bing,sogou

© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有