如何使用 gitpython 暂存更改

Eve*_*rtW 9 gitpython

有谁知道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)
Run Code Online (Sandbox Code Playgroud)

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

提前致谢,

翻转

Byr*_*ron 8

你没有错过任何东西。GitPython行为更像是管道,不喜欢就是瓷器git add -ugit commit

因此,建议使用提供的 git 命令包装器来快速完成工作,如您的示例(例如repo.git.add(update=True))中所演示的那样。

尽管可以完全在 GitPython 中实现任何东西,但它不会像各自的本机 git 实现那样表现良好或得到证明。

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