Когда вы говорите «отобразить репозиторий и его содержимое», вы на самом деле говорите «отобразить состояние репо после последней фиксации основной ветки», верно? На самом деле это лучший способ осмысления проблемы, и он станет лучшим руководством по использованию GitHub API.
Вам нужно взглянуть на данные Git часть API. Вот что вам нужно сделать:
1) получить список ссылок для вашего репо, используя:
https://api.github.com/repos/:user/:repo/git/refs
Рабочий пример:
https://api.github.com/repos/izuzak/noam/git/refs
Обратите внимание, что он перечисляет ссылки в вашем репо и дает вам ссылки для продолжения.
2) получить объект фиксации интересующей вас ссылки, а именно «мастер», используя ссылку, указанную в ответе на 1):
https://api.github.com/repos/:user/:repo/git/commits/:sha
Рабочий пример:
https://api.github.com/repos/izuzak/noam/git/commits/5cf12775b844664d5f7af6663706195680181374
Обратите внимание, что вы возвращаете объект со ссылкой на дерево.
3) получить объект дерева последней фиксации в главной ссылке, используя ссылку, указанную в ответе на 2):
https://api.github.com/repos/:user/:repo/git/trees/:sha
Рабочий пример:
https://api.github.com/repos/izuzak/noam/git/trees/8a721bea8d2f281c87b39c74cbf5a70075d686b4
Обратите внимание, что вы получаете список файлов в корневом каталоге, который является вашим репозиторием. Это то, что вы хотите. Если у вас есть подкаталоги, вы получите ссылки для получения файлов в этих подкаталогах.
Этого должно быть достаточно для начала :). Удачи!
person
Ivan Zuzak
schedule
18.01.2013