9

有谁知道git commit -agitpython 中的等价物是什么?

我试过repo.index.commit了,但没有看到如何添加 -a 选项。 repo.index.add仅添加新文件,不添加已修改的现有文件。它似乎不支持中的update功能git add -u

我可以做类似的事情repo.git.commit('-a'),甚至

repo.git.add('-u')
repo.index.commit(comment)

但我认为高级接口应该能够做到这一点。我错过了什么吗?

提前致谢,

翻转

4

1 回答 1

8

你没有错过任何东西。GitPython 的行为更像是管道,而不是像git add -ugit commit.

因此,正如您的示例(例如repo.git.add(update=True))中已经展示的那样,使用提供的 git 命令包装器来快速完成工作是可行的并且建议您使用。

即使可以纯粹在 GitPython 中实现任何东西,它的性能也不会像各自的原生 git 实现那样好或被证明。

如果你想通过一个相对方便和 Python 的 API 快速方便地访问 git 存储库数据,GitPython 开始变得强大。示例包括访问分支和标签信息,或详细查询提交。

于 2015-09-17T06:03:18.767 回答