Chapters ▾
2nd Edition
-
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 Git 在 PowerShell 中使用 Git
- A1.9 总结
-
A2. 附录 B: 在你的应用中嵌入 Git
- A2.1 命令行 Git 方式
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. 附录 C: Git 命令
A2.5 附录 B: 在你的应用中嵌入 Git - Dulwich
Dulwich
这还有一个纯-Python 的 Git 实现——Dulwich。 该项目托管在 https://www.dulwich.io/。 它旨在在提供一个与 Git 存储库(本地和远程)的接口,该接口不直接调用 git,而是使用纯 Python。 它有一个可选的 C 扩展,可以显著提高性能。
Dulwich 遵循 git 设计,将 API 分为两个基本级别:底层命令和上层命令。
下面是一个使用低级 API 获取上次提交的提交消息的例子:
from dulwich.repo import Repo
r = Repo('.')
r.head()
# '57fbe010446356833a6ad1600059d80b1e731e15'
c = r[r.head()]
c
# <Commit 015fc1267258458901a94d228e39f0a378370466>
c.message
# 'Add note about encoding.\n'
要使用高级上层命令 API 打印提交日志,可以使用:
from dulwich import porcelain
porcelain.log('.', max_entries=1)
#commit: 57fbe010446356833a6ad1600059d80b1e731e15
#Author: Jelmer Vernooij <jelmer@jelmer.uk>
#Date: Sat Apr 29 2017 23:57:34 +0000
拓展阅读
在官方网站 https://www.dulwich.io 上可以找到 API 文档、教程和许多关于如何使用 Dulwich 完成特定任务的示例。