章节 ▾ 第二版

A2.1 附录 B:在你的应用中嵌入 Git - 命令行 Git

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

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

命令行 Git

一种选择是生成一个 shell 进程并使用 Git 命令行工具来完成工作。 这样做的好处是它是规范的,并且支持 Git 的所有功能。 这也恰好相当容易,因为大多数运行时环境都有一个相对简单的工具,可以使用命令行参数调用进程。 但是,这种方法确实有一些缺点。

其中之一是所有输出都是纯文本。 这意味着你必须解析 Git 不时更改的输出格式才能读取进度和结果信息,这可能效率低下且容易出错。

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

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

scroll-to-top