如何使用GitPython获取回购的提交次数?

时间:2019-04-25 07:58:40

标签: python-3.x git gitpython

我是GitPython的新手,我想了解一下repo的提交情况。 我希望在GitPython中找到“ git rev-list --count HEAD ”的替代方法,是否有特定功能可以做到这一点?

我试图获取回购的所有提交列表,以显示其大小,但仅显示最后一次提交。 感谢帮助, 问候。

2 个答案:

答案 0 :(得分:1)

尝试输入代码:

import git

repo_path = 'foo'
repo = git.Repo(repo_path)
# get all commits reachable from "HEAD"
commits = list(repo.iter_commits('HEAD'))
# get the number of commits
count = len(commits)

我对Python 3.x不熟悉。由于Python 2.x和3.x之间的差异,可能会出现错误。

经过研究,我发现我们可以直接调用git rev-list --count HEAD

import git

repo_path = 'foo'
repo = git.Repo(repo_path)
count = repo.git.rev_list('--count', 'HEAD')

请注意,命令名称中的-在代码中应为_

答案 1 :(得分:0)

您可以使用iter_commits()获取所有提交的列表。遍历并计数提交

from git import Repo

repo = Repo()

print(len(list(repo.iter_commits())))