Как получить количество коммитов репо с использованием GitPython? - PullRequest
0 голосов
/ 25 апреля 2019

Я новичок в GitPython и хотел бы получить количество коммитов репо.Я ищу, чтобы получить альтернативу " git rev-list --count HEAD " в GitPython, есть ли специальная функция для этого?

Я пытался получить список всех коммитовиз репо, чтобы отобразить его размер, но последний коммит только появляется.спасибо за помощь, С уважением.

Ответы [ 2 ]

1 голос
/ 25 апреля 2019

Попробуйте код:

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')

Обратите внимание, что - в имени команды должно быть _ в коде.

0 голосов
/ 25 апреля 2019

Вы можете получить список всех коммитов с помощью iter_commits(). Переберите его и посчитайте коммиты

from git import Repo

repo = Repo()

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