章节 ▾
第二版
-
1. 起步
-
2. Git 基础
-
3. Git 分支
-
4. 服务器上的 Git
- 4.1 协议
- 4.2 在服务器上部署 Git
- 4.3 生成 SSH 公钥
- 4.4 架设服务器
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 第三方托管服务
- 4.10 小结
-
5. 分布式 Git
-
A1. 附录 A: Git 在其他环境
- A1.1 图形界面
- A1.2 Visual Studio 中的 Git
- A1.3 Visual Studio Code 中的 Git
- A1.4 IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine 中的 Git
- A1.5 Sublime Text 中的 Git
- A1.6 Bash 中的 Git
- A1.7 Zsh 中的 Git
- A1.8 PowerShell 中的 Git
- A1.9 小结
-
A2. 附录 B: 在应用程序中嵌入 Git
-
A3. 附录 C: Git 命令
A2.1 附录 B:将 Git 嵌入您的应用程序 - 命令行 Git
如果您的应用程序是为开发人员设计的,那么很可能它能够受益于与源代码管理的集成。即使是非开发人员的应用程序,例如文档编辑器,也可能从版本控制功能中受益,并且 Git 的模型非常适合许多不同的场景。
如果您需要将 Git 与您的应用程序集成,您基本上有两种选择:启动一个 shell 并调用 git 命令行程序,或者将 Git 库嵌入到您的应用程序中。这里我们将介绍命令行集成和几种最受欢迎的可嵌入 Git 库。
命令行 Git
一种选择是启动一个 shell 进程并使用 Git 命令行工具来完成工作。这样做的好处是它是标准的,并且支持 Git 的所有功能。这也很容易,因为大多数运行时环境都有一个相对简单的机制来调用带有命令行参数的进程。然而,这种方法确实存在一些缺点。
一个缺点是所有的输出都是纯文本。这意味着您将不得不解析 Git 偶尔变化的输出格式来读取进度和结果信息,这可能效率低下且容易出错。
另一个缺点是缺乏错误恢复。如果存储库以某种方式损坏,或者用户有一个格式错误的配置值,Git 将会简单地拒绝执行许多操作。
还有一点是进程管理。Git 要求您在一个单独的进程中维护一个 shell 环境,这可能会增加不必要的复杂性。试图协调许多这样的进程(尤其是在可能从多个进程访问同一存储库时)可能是一个相当大的挑战。