我是GitPython的新手,我想了解一下repo的提交情况。 我希望在GitPython中找到“ git rev-list --count HEAD ”的替代方法,是否有特定功能可以做到这一点?
我试图获取回购的所有提交列表,以显示其大小,但仅显示最后一次提交。 感谢帮助, 问候。
答案 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())))