2010-05-14 67 views
3

如何通过GitHub API获取GitHub存储库的Root:tree_sha?GitHub Api:如何获取存储库的根目录:tree_sha?

的GitHib API帮助页面似乎并没有解释这个信息的关键部分:

http://develop.github.com/p/object.html

可以通过树 SHA

树/节目得到了树的内容/:user /:repo /:tree_sha

获取 的根树目录我们的提交的facebox项目上市,我们可以称之为:

$卷曲 http://github.com/api/v2/yaml/tree/show/defunkt/facebox/a47803c9ba26213ff194f042ab686a7749b17476

回答

3

http://develop.github.com/p/commits.html

的承诺告诉你它的树沙。

[编辑]
如果你想有一个子文件夹CD的树SHA到你感兴趣的,并运行一个的父文件夹:
git ls-tree HEAD

如果你想根椐SHA:
git show HEAD --format=raw
1号线有犯煞
2号线有树SHA

0

我不知道关于GitHub的API - 但是如果你只想要你可以使用哈希此命令在您的克隆中:

git show HEAD --format=%T | head -1 

或使用%t作为缩写哈希。

+0

这工作很好,但我怕投上一票,因为这个问题是具体到GitHub上。 – 2014-10-23 11:26:20

0

每个提交都包含整个树的sha提交。 使用API​​获取代表master分支的JSON对象。

https://api.github.com/repos/:owner/:repo/branches/master 

该分支的最后一个提交包含树的沙,我认为你要求。

这段代码演示了如何在Python中获取head_tree_sha

import requests 
token = '0...f' 
key = {'Authorization':'token '+token} 
master = requests.get('https://api.github.com/repos/'+owner+'/' + repo '/branches/master', headers=key) 
master = master.json() 
head_tree_sha = master['commit']['commit']['tree']['sha'] 

https://developer.github.com/v3/git/commits/

相关问题