Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
GithubAPI:如何获取存储库的根目录:tree\u sha?_Github_Github Api - Fatal编程技术网

GithubAPI:如何获取存储库的根目录:tree\u sha?

GithubAPI:如何获取存储库的根目录:tree\u sha?,github,github-api,Github,Github Api,如何通过GithubAPI获取GitHub存储库的根:tree\u sha GitHib API帮助页面似乎没有解释这一关键信息: 可以逐树获取树的内容 沙 tree/show/:user/:repo/:tree\u sha 要获取的根目录树列表,请执行以下操作: 我们提交的facebox项目 在列表中,我们可以称之为: $curl commit告诉您它的树sha [编辑] 如果要将子文件夹cd的树sha放入感兴趣的cd的父文件夹并运行: git ls树头 如果您想要根树sha: git

如何通过GithubAPI获取GitHub存储库的根:tree\u sha

GitHib API帮助页面似乎没有解释这一关键信息:

可以逐树获取树的内容 沙

tree/show/:user/:repo/:tree\u sha

要获取的根目录树列表,请执行以下操作: 我们提交的facebox项目 在列表中,我们可以称之为:

$curl

commit告诉您它的树sha

[编辑]
如果要将子文件夹cd的树sha放入感兴趣的cd的父文件夹并运行:
git ls树头

如果您想要根树sha:
git show HEAD--format=raw

第1行已提交sha

第二行有树sha

我不确定GitHub API-但是如果您只需要哈希,可以在克隆中使用以下命令:

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

或者对缩写哈希使用
%t

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

https://api.github.com/repos/:owner/:repo/branches/master
该分支的最后一次提交包括树的sha,我认为这是您要求的

这段代码演示了如何在Python中获取
head\u tree\u 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']

这很有效,但我不敢投赞成票,因为这个问题是针对GitHub的。