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

我使用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))

即使涉及多条路径,性能也会适中。 基准和更多关于这个的代码可以在github的一个问题中找到。


后续,阅读每个文件:

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:
    ...
链接地址: http://www.djcxy.com/p/22677.html

上一篇: Get All Revisions for a specific file in gitpython

下一篇: How to view the changes in a single file in GitHub?