理解 Git 源代码所需的技术堆栈



我有兴趣了解 Git 源代码,也许有一天会为它做出贡献。

我知道 Git 源代码建立在:

  1. C,Shell,Perl,Python,C++,TCL等语言

2(技术,如HTTP,HTTPS,SSH等

我只是想知道,还有什么是理解 Git 源代码的先决条件吗?

git 几乎完全是用C和 bash 脚本编写的。 如果您想做出贡献,请查看他们极其广泛的文档: 文档/提交补丁

除了补丁提交过程之外,其他来源可以帮助理解 Git 代码库。

  • 使用的协议:服务器上的 Git - 协议
  • 文档如下:

    • 编码准则
    • 差异格式
    • git 薄包
    • git 二进制差异格式

但另一种方法是研究 Git 是如何在其他语言中重新实现的:这些通常是 Git 的一个子集,不那么令人生畏,而且很有教育意义。

  • 包文件已在 Go 中重新实现,
  • 其他 Git 函数也用 Go 编写,
  • Git http-后端在Go中可用,
  • Git 格式和协议已在 OCaml 中编码
  • Git.js提出了一个Javascript实现(也用Gitlet完成(

因此,如果原始的 git/git 代码库看起来很复杂,您可以将它的实现与上面列出的一些进行比较和对比,以获得更好的理解。

最新更新