git-python получает коммит-фид из репозитория - PullRequest
2 голосов
/ 24 июля 2011

я работаю над кодом, который я хотел бы получить в коммитах из репозитория на github.Я не совсем уверен, как это сделать, я получил git-python, но большинство API-интерфейсов предназначены для открытия локального хранилища git в той же файловой системе

Может кто-нибудь посоветовать?

С уважением,

Ответы [ 4 ]

10 голосов
/ 20 августа 2015

Для меня лучше всего сработало следующее:

Импорт:

import os
import datetime
import git

Получить текущий репозиторий, предполагая, что вы там:

repo = git.Repo(os.getcwd())

Получить активную ветку:

master = repo.head.reference

Текущая ветвь:

master.name

ID последнего коммита:

master.commit.hexsha

Последнее сообщение о коммите:

master.commit.message

Дата последней фиксации:

datetime.datetime.fromtimestamp(master.commit.committed_date)

Последнее сообщение автора коммита:

master.commit.author.email

Имя автора последнего коммита:

master.commit.author.name
4 голосов
/ 24 июля 2011

Кажется, здесь проще всего использовать командную строку (я предполагаю, что Linux или любой другой Unix здесь, но должен быть таким же в Windows), чтобы сначала клонировать существующее хранилище:

git clone git: //github.com/forsberg/misctools.git

Это создаст каталог misctools.

Теперь из python вы можете открыть этот репозиторий и обновить его, используя pull:

#!/usr/bin/env python

from git import *

repo = Repo("misctools")
o = repo.remotes.origin
o.pull()

master = repo.head.reference
print master.log()

Все это задокументировано на http://packages.python.org/GitPython/0.3.2/tutorial.html

1 голос
/ 24 июля 2011

Я действительно советую использовать только командную строку git, git-python, которая используется для макросов или сложных вещей, а не только для вытягивания, нажатия или клонирования:)

0 голосов
/ 24 июля 2011

Если это то, что вам нужно, у меня есть bash-скрипт для отправки мне писем о последних изменениях в git.Это работает как cronjob.

https://github.com/martinxyz/config/blob/master/scripts/email-git-commit-summary.sh

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