我正在编写一个代码,我想从github上的存储库中检索提交。我不完全确定如何做这样的事情,我得到了git-python,但大多数api用于在同一个文件系统上打开一个本地git存储库。
有人可以建议吗?
问候,
答案 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