Git:Linus 写的另一个传奇

Git 是目前使用最广泛的分布式版本控制系统,由 Linux 之父 Linus Torvalds 创建,拿到了 61,488 个 Star。

正文顶部截图

Git 诞生于 2005 年,最初是 Linus 为了管理 Linux 内核源码而写的工具。当时 CVS 不好使,BitKeeper 又收回了免费授权,他干脆自己写了一个。

结果这个"临时方案"成了全世界开发者都在用的工具。

README区域截图

核心特点

Git 是分布式的。每个人的电脑上都有完整的仓库副本,不依赖中央服务器。断网了照样能提交、查看历史、创建分支。服务器挂了也不影响本地工作,等恢复了再推送就行。

Git 的速度很快。大部分操作在本地完成,不涉及网络请求。提交、对比、回滚,基本都是毫秒级响应。即使是拥有几十万个提交的大型仓库,多数操作也能在一秒内完成。

Git 的数据模型保证了完整性。每次提交都会通过 SHA-1 哈希生成一个唯一标识,任何对文件的改动都会被记录。这意味着历史记录不可能被悄悄篡改,一旦数据写入就无法丢失。

Git 的分支模型很轻量。创建分支就是加一个指针,不像 SVN 那样要复制整个目录。频繁创建和合并分支是日常操作。功能开发在一个分支,线上修复在另一个分支,互不干扰。

关于名字

Linus 给这个工具取名 “git”,他自己说过几个解释。

随口编的三字母组合,读起来顺口,恰好没有被其他 UNIX 命令占用。是不是 “get” 的误读,看你怎么想。

心情好的时候,git 就是 “global information tracker”,全局信息追踪器。Angels 会唱歌,光会照进房间。

心情不好的时候,git 就是另一串不太好听的脏话。

许可证和社区

Git 使用 GNU 通用公共许可证第二版(GPLv2),部分组件使用其他兼容许可证。

开发讨论在 Git 邮件列表上进行,任何人都可以提交 bug 报告、功能请求和补丁。提交补丁前需要阅读仓库里的提交规范和代码规范文档。

安全问题需要私下报告给 Git 安全邮件列表,不要公开提交 issue。

如何开始

官方文档入口在 git-scm.com,入门教程在仓库的 Documentation/gittutorial.adoc。装好 Git 之后,命令行里跑 git help tutorial 就能看到。

日常使用可以看 Documentation/giteveryday.adoc,里面列出了最常用的命令集合。每个命令的详细文档在 Documentation/git-<命令名>.adoc,也可以通过 man git-<命令名> 查看。

之前用 CVS 的用户,可以看 Documentation/gitcvs-migration.adoc,里面有从 CVS 迁移到 Git 的完整指南。

项目本身用 GNU 构建系统编译,具体安装步骤参考仓库根目录下的 INSTALL 文件。中文文档可以在 git-scm.com 的中文站找到。

最后

Git 在 61k Star 的背后,是全球无数开发者每天都在使用的基础设施。没有花哨的界面,没有营销团队,纯粹靠好用活到了现在。

Linus 曾说过,他写 Git 只是为了满足自己的需求。这种实用主义的基因一直贯穿在项目中。二十多年过去,Git 已经成为软件开发领域不可替代的工具,几乎所有新的代码托管平台和 CI/CD 工具链都以 Git 为基础。

it 已经成为软件开发领域不可替代的工具,几乎所有新的代码托管平台和 CI/CD 工具链都以 Git 为基础。

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐