添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

概述/安装

GitPython 是一个用于与 Git 存储库交互的 Python 库,高级别的类似于 Git porcelain,低级别的类似于 Git plumbing。

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

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

  • Python >= 3.7

  • Git 1.7.0 或更新版本

    它也应该能与旧版本一起工作,但可能一些涉及 remote 的操作将不能像预期那样工作。

  • GitDB - 纯 python git 数据库实现

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

  • 安装 GitPython

    使用 pip 可以很容易地安装 GitPython。假设 pip 已经安装好了,只需在命令行中运行以下内容:

    # pip install GitPython
    

    该命令将从 Python Package Index 下载最新版本的 GitPython,并将其安装到你的系统。关于 pip 和 pypi 的更多信息可以在这里找到:

  • 安装 pip

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

    # python setup.py install
    

    在这种情况下,你也必须手动安装 GitDB。在这种情况下,建议使用 git 源码库

    局限性

    系统资源泄漏

    GitPython 不适合长时间运行的进程(如守护进程),因为它容易泄漏系统资源。它是在一个解构器(如在 __del__ 方法中实现的)仍然确定性地运行的时代写的。

    如果你仍然想在这样的情况下使用它,你要在代码库中搜索 __del__ 的实现,并在你认为合适的时候自己调用这些。

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

  • GitPython 教程 - 本教程对 GitPython 的一些基本功能和概念进行了介绍。然而,它并不详尽,所以我们鼓励你在 API 参考 中花费一些时间。

  • API 参考

    GitPython API 的一个有组织的部分位于 API 参考

    源代码

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

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

  • 并且克隆使用

    $ 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 许可证获得许可的。有关详细信息,请参阅许可证文件。

    利用 Sphinx 构建,使用了 由 Read the Docs开发.