章节 ▾ 第二版

A2.1 附录 B: 将 Git 嵌入你的应用程序 - 命令行 Git

如果你的应用程序是面向开发人员的,那么它很有可能受益于与源码控制的集成。即使是非开发人员的应用程序,例如文档编辑器,也可能受益于版本控制功能,并且 Git 的模型非常适用于许多不同的场景。

如果需要将 Git 与应用程序集成,基本上有两种选择:启动 shell 并调用 git 命令行程序,或者将 Git 库嵌入到应用程序中。在这里,我们将介绍命令行集成以及几种最流行的可嵌入 Git 库。

命令行 Git

一种选择是启动一个 shell 进程,并使用 Git 命令行工具来完成工作。这样做的好处是规范,并且支持 Git 的所有功能。这也很容易实现,因为大多数运行时环境都提供了相对简单的机制来使用命令行参数调用进程。然而,这种方法也有一些缺点。

一个缺点是所有输出都是纯文本。这意味着你必须解析 Git 偶尔会变化的输出格式来读取进度和结果信息,这可能效率低下且容易出错。

另一个缺点是缺乏错误恢复。如果仓库由于某种原因损坏,或者用户配置值格式不正确,Git 将简单地拒绝执行许多操作。

还有一个缺点是进程管理。Git 要求你维护一个独立进程上的 shell 环境,这会增加不必要的复杂性。尝试协调许多这些进程(尤其是在可能从多个进程访问同一仓库时)可能是一个相当大的挑战。