GitHub API:如何获取存储库的根:tree_sha?

15

你可以随时使用 HEAD,它是当前的树。 - Brenno Costa
3个回答

13
每个提交包含该提交时整个树的sha。使用API获取表示master分支的JSON对象。
https://api.github.com/repos/:owner/:repo/branches/master

那个分支的最后一次提交包括我认为你在询问的树的 sha。

这段代码演示了如何在 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/


8

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

提交记录会告诉你它的树 SHA。

[编辑]
如果你想要子文件夹的树 SHA,请进入其父文件夹并运行:
git ls-tree HEAD

如果你想要根目录的树 SHA:
git show HEAD --format=raw
第一行是提交 SHA
第二行是树 SHA


1
我不确定GitHub API,但是如果你只想要哈希值,你可以在克隆中使用以下命令:
git show HEAD --format=%T | head -1

或者使用%t来表示缩写哈希值。

这个方案很好,但我不敢点赞,因为问题是关于GitHub的特定问题。 - Ramón

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接