章節 ▾
第二版
-
1. 開始
-
2. Git 基礎
-
3. Git 分支
-
4. 伺服器上的 Git
- 4.1 通訊協定
- 4.2 在伺服器上取得 Git
- 4.3 產生 SSH 公開金鑰
- 4.4 設定伺服器
- 4.5 Git Daemon
- 4.6 智慧 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.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
延伸閱讀
API 文件、教學課程,以及許多如何使用 Dulwich 執行特定任務的範例,可以在官方網站 https://www.dulwich.io 上找到。