技能 git-protocol
📦

git-protocol

低风险 📁 文件系统访问

實作 Git 協定操作

此技能提供使用純 Rust gitoxide 函式庫進行 Git 儲存庫操作的實作模式。它能在不依賴外部 git 二進位檔案的情況下,實現安全且高效的 Git 操作。

支持: Claude Codex Code(CC)
⚠️ 67
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“git-protocol”。 如何使用 gitoxide 建立新的提交?

预期结果:

使用技能中展示的 CommitBuilder 模式。首先使用 tree、parents、author、committer 和 message 建立 CommitRef。然後在儲存庫上呼叫 write_object 以持久化提交並取得其 ObjectId。

正在使用“git-protocol”。 什麼是 gitoxide?

预期结果:

Gitoxide 是純 Rust 實作的 Git。它提供高階 crates,如用於操作的 gix、用於物件類型的 gix-object、用於雜湊的 gix-hash、用於 pack 檔案的 gix-pack,以及用於協定處理的 gix-transport。

安全审计

低风险
v6 • 1/21/2026

All static findings are false positives. Ed25519 is strong modern crypto (misclassified as weak). Backticks are markdown code fences, not shell execution. Git protocol operations are legitimate repository functionality. No malicious patterns detected.

2
已扫描文件
705
分析行数
1
发现项
6
审计总数

风险因素

📁 文件系统访问 (2)
审计者: claude 查看审计历史 →

质量评分

38
架构
100
可维护性
87
内容
21
社区
90
安全
83
规范符合性

你能构建什么

建構 Git 驅動的應用程式

開發人員可以使用這些模式建構與 Git 儲存庫互動的應用程式,使用純 Rust 的 gitoxide 函式庫而非呼叫 git CLI。

實作 Git 託管服務

使用自訂協定處理器為 git-upload-pack 和 git-receive-pack 操作建立 Git 伺服器功能。

使用加密驗證擴展 Git

為 Git 提交新增 Ed25519 簽章驗證,以在自訂 Git 工作流程中增強完整性和身份驗證。

试试这些提示

開啟儲存庫
如何在 Rust 中使用 gitoxide 開啟現有的 Git 儲存庫或建立新儲存庫?請展示程式碼模式。
讀取 Git 物件
撰寫 Rust 程式碼以使用 gitoxide 讀取 Git 物件(commits、trees、blobs)並解碼其內容。
實作 Git HTTP 協定
使用 axum 和 gitoxide 為 Git 伺服器建立 git-upload-pack 和 git-receive-pack 的 HTTP 端點。
生成 Packfiles
展示如何使用 gitoxide 生成包含特定物件的 Git packfiles,以實現高效的資料傳輸。

最佳实践

  • 使用 gitoxide 的高階 gix crate 進行常見的 Git 操作,而非生成 git 處理程序
  • 使用 PreviousValue::MustExistAndMatch 實作原子參照更新,以實現安全的並行操作
  • 在使用加密擴展時驗證提交上的 Ed25519 簽章以確保完整性

避免

  • 當 gitoxide 提供等效功能時,不要呼叫 git CLI 命令
  • 接受推送時不要跳過參照驗證
  • 不要在沒有適當身份驗證的情況下暴露原始 packfile 生成

常见问题

什麼是 gitoxide?
Gitoxide 是純 Rust 實作的 Git,它提供安全、高效的 Git 操作,而不依賴 git 二進位檔案。
此技能可以直接執行 git 命令嗎?
不能。此技能提供以程式化方式使用 gitoxide 的實作模式和程式碼範例。它不執行 git 命令。
此技能中 Ed25519 的用途是什麼?
Ed25519 為提交提供加密簽章,能夠驗證提交的真實性和完整性,超越標準的 Git 雜湊。
什麼是 Smart HTTP 協定?
Smart HTTP 是一種 Git 協定,使用 HTTP POST 請求在客戶端和伺服器之間進行高效的 clone、fetch 和 push 操作。
packfile 生成如何運作?
Packfiles 高效地打包 Git 物件以進行傳輸。Gitoxide 可以根據 want/have 協商生成包含特定物件的 packfiles。
此技能是否適用於生產環境?
此技能提供模式和範例。生產環境使用需要對完整實作進行適當的整合、測試和安全審查。

开发者详情

文件结构

📄 SKILL.md