Python - 一个不依赖于git二进制文件的Git模块
我需要一个Python模块,它不依赖于Git这个程序。也就是说,它应该能够自己处理版本控制的内容,而不需要使用git命令。以下是一些基本的需求:
- 克隆(复制)代码库
- 提交(保存)更改
- 推送(上传)到远程代码库
- 处理用户名和密码,以及密钥的认证
- 拉取(下载)和检出(查看)文件
据我所知,GitPython和Gittle都需要Git这个程序。我在寻找一个Python的替代方案,类似于JGit,但不需要使用Git这个程序。
1 个回答
4
Dulwich 是一个可选的工具。引用一下项目的描述:
Dulwich 是一个用 Python 编写的 Git 文件格式和协议的实现,它不依赖于 Git 本身。
因为 Dulwich 实现了 Git 的文件格式和协议,所以它的层次比较低。文档中有一个教程,讲解了如何将文件暂存和提交。后面的教程章节还介绍了如何与远程仓库进行操作。
虽然教程中没有明确讨论身份验证,但如果你能使用 HTTP 基本认证,那么你应该可以顺利使用 Dulwich,因为它支持 HTTP 协议。这个库还声称支持 Git+SSH。