Python - 一个不依赖于git二进制文件的Git模块

2 投票
1 回答
947 浏览
提问于 2025-05-01 18:29

我需要一个Python模块,它不依赖于Git这个程序。也就是说,它应该能够自己处理版本控制的内容,而不需要使用git命令。以下是一些基本的需求:

  1. 克隆(复制)代码库
  2. 提交(保存)更改
  3. 推送(上传)到远程代码库
  4. 处理用户名和密码,以及密钥的认证
  5. 拉取(下载)和检出(查看)文件

据我所知,GitPython和Gittle都需要Git这个程序。我在寻找一个Python的替代方案,类似于JGit,但不需要使用Git这个程序。

暂无标签

1 个回答

4

Dulwich 是一个可选的工具。引用一下项目的描述:

Dulwich 是一个用 Python 编写的 Git 文件格式和协议的实现,它不依赖于 Git 本身。

因为 Dulwich 实现了 Git 的文件格式和协议,所以它的层次比较低。文档中有一个教程,讲解了如何将文件暂存和提交。后面的教程章节还介绍了如何与远程仓库进行操作

虽然教程中没有明确讨论身份验证,但如果你能使用 HTTP 基本认证,那么你应该可以顺利使用 Dulwich,因为它支持 HTTP 协议。这个库还声称支持 Git+SSH。

撰写回答