git-python从存储库获取提交订阅源

时间:2011-07-24 10:30:38

标签: python git

我正在编写一个代码,我想从github上的存储库中检索提交。我不完全确定如何做这样的事情,我得到了git-python,但大多数api用于在同一个文件系统上打开一个本地git存储库。

有人可以建议吗?

问候,

4 个答案:

答案 0 :(得分:10)

对我而言,以下效果最好:

进口:

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

答案 1 :(得分:4)

这里最简单的方法是使用命令行(我在这里假设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

答案 2 :(得分:1)

我真的建议只使用命令行git,git-python用于宏或复杂的东西,而不仅仅是用于拉,推或克隆:)

答案 3 :(得分:0)

如果这就是你所追求的,我有一个bash脚本来发送自己关于最新git提交的电子邮件。它作为一个cronjob运行。

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