获取gitpython中特定文件的所有修订

获取gitpython中特定文件的所有修订,python,git,gitpython,Python,Git,Gitpython,我使用这个库来执行git操作,从python代码中检索git信息。我想检索特定文件的所有修订。但在网站上找不到这方面的具体参考 在这方面,谁能提供一些线索,说明哪些功能会有所帮助?谢谢。没有这样的功能,但很容易实现: import git repo = git.Repo() path = "dir/file_you_are_looking_for" commits_touching_path = list(repo.iter_commits(paths=path)) 即使涉及多条路径,性能也

我使用这个库来执行git操作,从python代码中检索git信息。我想检索特定文件的所有修订。但在网站上找不到这方面的具体参考


在这方面,谁能提供一些线索,说明哪些功能会有所帮助?谢谢。

没有这样的功能,但很容易实现:

import git
repo = git.Repo()
path = "dir/file_you_are_looking_for"

commits_touching_path = list(repo.iter_commits(paths=path))

即使涉及多条路径,性能也会适中。基准测试和更多相关代码。

阅读每个文件的后续步骤:

import git
repo = git.Repo()
path = "file_you_are_looking_for"

revlist = (
    (commit, (commit.tree / path).data_stream.read())
    for commit in repo.iter_commits(paths=path)
)

for commit, filecontents in revlist:
    ...

我不这么认为,因为提到的问题根本不涉及gitpython。