Похоже, что объекты gitpython Commit
не имеют атрибута для электронного письма автора.
Вы также можете использовать gitpython для непосредственного вызова команд git . Вы можете использовать команду git show
, передавая коммит HASH (от commit.hexsha
), а затем опцию --format
, которая дает вам только имя автора и адрес электронной почты (выможет, конечно, передать другие опции формата, которые вам нужны).
Использование простого git:
$ git show -s --format='%an <%ae>' 4e13ccfbde2872c23aec4f105f334c3ae0cb4bf8
me <me@somewhere.com>
Использование gitpython для использование git напрямую :
from git import Repo
repo_path = 'myrepo'
repo = Repo(repo_path)
commits_list = list(repo.iter_commits())
for i in range(5):
commit = commits_list[i]
author = repo.git.show("-s", "--format=Author: %an <%ae>", commit.hexsha)
print(author)