概述/安装

git python是一个用于与Git存储库交互的python库,高级别的类似于Git瓷器,低级别的类似于Git管道。

它提供了Git对象的抽象,以便于访问存储库数据,并且还允许您使用纯Python实现或更快但资源更密集的Git命令实现更直接地访问Git存储库。

对象数据库实现针对处理大量对象和大型数据集进行了优化,这是通过使用低级结构和数据流实现的。

要求

  • Python >=3.7

  • Git 1.7.0或更新版本

    它还应该与旧版本一起工作,但可能有些涉及远程的操作无法按预期工作。

  • GitDB -纯python git数据库实现

  • typing_extensions >=3.7.3.4(如果python<3.10)

安装gitpython

使用 pip . 假设已安装,只需从命令行运行以下命令:

# pip install GitPython

此命令将从 Python Package Index 并将其安装到您的系统中。有关的详细信息 pip Pypi可以在这里找到:

或者,您可以使用 setup.py 脚本:

# python setup.py install

备注

在这种情况下,必须手动安装 GitDB 也。建议使用 git source repository 在这种情况下。

局限性

系统资源泄漏

gitpython不适合长时间运行的进程(如守护进程),因为它容易泄漏系统资源。它是在一个析构函数(如 __del__ 方法)仍具有确定性。

如果您仍然希望在这样的上下文中使用它,您将希望在代码库中搜索 __del__ 实现,并在您认为合适时自己调用它们。

另一种确保正确清理资源的方法是将gitpython分解成一个单独的进程,该进程可以定期删除。

入门

  • gitpython教程 -本教程介绍了GitPython中使用的一些基本功能和概念。但是,它并不详尽,因此鼓励您花一些时间在 API引用 .

API引用

gitpython API的一个有组织的部分位于 API引用 .

源代码

Gitpython的Git回购可在GitHub上获得,可在以下网址浏览:

克隆使用:

$ git clone https://github.com/gitpython-developers/GitPython git-python

初始化所有子模块以获取所需的依赖项::

$ cd git-python
$ git submodule update --init --recursive

最后通过运行单元测试来验证安装:

$ python -m unittest

问题和答案

请使用stackoverflow提问,不要忘记用 gitpython 确保正确的人及时看到问题。

http://stackoverflow.com/questions/tagged/gitpython

问题跟踪器

问题跟踪程序由Github托管:

https://github.com/gitpython-developers/GitPython/issues

许可证信息

gitpython是根据新的BSD许可证获得许可的。有关详细信息,请参阅许可证文件。