如何使用gitpython进行代码变更的分步处理

10
有人知道gitpython中等效于"git commit -a"的命令是什么吗?
我尝试了“repo.index.commit”,但不知道如何添加-a选项。 "repo.index.add"只添加新文件,而不是已修改的现有文件。它似乎不支持类似于“git add -u”中的“update”函数。
我可以尝试使用“repo.git.commit('-a')”,甚至可以使用...
repo.git.add('-u')
repo.index.commit(comment)

但我认为高级接口应该能够做到这一点。我是否遗漏了什么?

提前致谢,

Evert


我遇到了同样的问题,下面的答案似乎没有帮助。 - jerrylogansquare
1个回答

9

你并没有错过什么。GitPython更像管道工具,而不像是git add -ugit commit那样的瓷器工具。

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

尽管可以纯粹使用GitPython实现任何功能,但它的性能和可靠性都不如相应的本地git实现。

如果想要通过相对方便和pythonic API快速方便地访问git存储库数据,可以使用GitPython。 例如,访问分支和标签信息,或者查询所有详细提交信息。


抱歉回复晚了,我刚刚才注意到忘了感谢你,@Byron。我很感激维护像gitpython这样的库所付出的努力,很高兴更好地理解它的哲学。再次感谢! - EvertW

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接