章节 ▾ 第二版

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

如果您的应用程序是为开发人员设计的,那么很可能它能够受益于与源代码管理的集成。即使是非开发人员的应用程序,例如文档编辑器,也可能从版本控制功能中受益,并且 Git 的模型非常适合许多不同的场景。

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

命令行 Git

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

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

另一个缺点是缺乏错误恢复。如果存储库以某种方式损坏,或者用户有一个格式错误的配置值,Git 将会简单地拒绝执行许多操作。

还有一点是进程管理。Git 要求您在一个单独的进程中维护一个 shell 环境,这可能会增加不必要的复杂性。试图协调许多这样的进程(尤其是在可能从多个进程访问同一存储库时)可能是一个相当大的挑战。