Как получить Root: tree_sha репозитория GitHub через GitHub API?
Справочные страницы API GitHib, похоже, не объясняют эту важную информацию:
http://develop.github.com/p/object.html
Может получить содержимое дерева по дереву ША дерево / показать /: пользователь /: репо /: tree_sha Чтобы получить список корневого дерева для проект facebox от нашего коммита листинг, мы можем назвать это: $ curl http://github.com/api/v2/yaml/tree/show/defunkt/facebox/a47803c9ba26213ff194f042ab686a7749b17476
Может получить содержимое дерева по дереву ША
дерево / показать /: пользователь /: репо /: tree_sha
Чтобы получить список корневого дерева для проект facebox от нашего коммита листинг, мы можем назвать это:
$ curl http://github.com/api/v2/yaml/tree/show/defunkt/facebox/a47803c9ba26213ff194f042ab686a7749b17476
Каждый коммит содержит ша всего дерева на момент этого коммита. Используйте API для получения объекта JSON, представляющего ветвь master.
master
https://api.github.com/repos/:owner/:repo/branches/master
Последний коммит этой ветви включает в себя sha дерева, которое, я думаю, вы запрашиваете.
Этот фрагмент кода демонстрирует, как получить head_tree_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/
http://develop.github.com/p/commits.html
Коммит сообщает вам свое дерево ша.
[EDIT] Если вы хотите, чтобы дерево sha подпапки cd попало в родительскую папку той, которая вас интересует, и запустите: git ls-tree HEAD
git ls-tree HEAD
Если вы хотите корневое дерево ша: git show HEAD --format=raw 1-я строка имеет коммит sha 2-я строка имеет дерево ша
git show HEAD --format=raw
Я не уверен насчет GitHub API - однако, если вам нужен только хеш, вы можете использовать эту команду в своем клоне:
git show HEAD --format=%T | head -1
Или используйте %t для сокращенного хэша.
%t