人们对 Python 的任何 Git 模块有什么体验?(我知道 GitPython、PyGit 和 Dulwich - 如果您知道,请随时提及其他人。)
我正在编写一个必须与 Git 存储库交互(添加、删除、提交)的程序,但没有使用 Git 的经验,所以我正在寻找的一件事是易于使用/理解 Git。
我主要感兴趣的其他事情是库的成熟度和完整性、错误的合理缺乏、持续开发以及文档和开发人员的帮助。
如果您想到我可能想/需要知道的其他事情,请随时提及。
我想我会回答我自己的问题,因为我选择的路径与答案中建议的不同。尽管如此,感谢那些回答的人。
首先,简要介绍一下我使用 GitPython、PyGit 和 Dulwich 的经验:
此外,StGit看起来很有趣,但我需要将功能提取到一个单独的模块中,并且不希望现在就等待它发生。
在(比我试图让上面的三个模块工作)更少的时间里,我设法让 git 命令通过 subprocess 模块工作,例如
def gitAdd(fileName, repoDir): cmd = ['git', 'add', fileName] p = subprocess.Popen(cmd, cwd=repoDir) p.wait() gitAdd('exampleFile.txt', '/usr/local/example_git_repo_dir')
这还没有完全整合到我的程序中,但我没有预料到会出现问题,除了速度(因为我有时会处理数百甚至数千个文件)。
也许我只是没有耐心去使用 Dulwich 或 GitPython。也就是说,我希望这些模块很快会得到更多的开发并变得更加有用。