Python Git模块的经验?

发布于 2021-01-29 19:19:12

人们对Python的任何Git模块有何经验?(我知道GitPython,PyGit和Dulwich-如果您知道其他人,请随意提及。)

我正在编写一个程序,该程序必须与Git存储库进行交互(添加,删除,提交),但是没有使用Git的经验,所以我要寻找的东西之一就是关于Git的易用性/理解性。

我主要感兴趣的其他事情是库的成熟度和完整性,合理的错误缺失,持续的开发以及文档和开发人员的帮助。

如果您想其他/我可能想知道的事情,请随时提及。

关注者
0
被浏览
43
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我以为我会回答自己的问题,因为我所采取的途径与答案中所建议的不同。尽管如此,还是感谢那些回答的人。

    首先,简要介绍一下我使用GitPython,PyGit和Dulwich的经验:

    • GitPython:下载后,我将其导入并初始化了适当的对象。但是,尝试执行本教程中建议的操作会导致错误。缺乏更多文档,我转向其他地方。
    • PyGit:这甚至都不会导入,而且我找不到任何文档。
    • 德威:似乎是最有前途的(至少对于我想要和看到的东西而言)。与GitPython相比,我在它方面取得了一些进步,因为它的卵来自Python源。但是,过了一会儿,我决定尝试做一下可能会更容易。

    另外,StGit看起来很有趣,但是我需要将功能提取到一个单独的模块中,并且不希望现在等待它发生。

    在比使上面的三个模块正常工作所花费的时间少得多的时间内,我设法通过子进程模块使git命令起作用,例如

    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正常运行。就是说,我希望这些模块能够得到更多的开发,并且很快就会有用。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看