Репозитории
Этот раздел Public API GitVerse предназначен для работы с репозиториями — основными единицами хранения кода в GitVerse.
API позволяет создавать, получать информацию, обновлять и удалять репозитории, управлять ветками, файлами, коммитами, ссылками и создавать форки.
Получение и обновление информации о репозитории
GET /repos/{owner}/{repo}— данные о репозитории: название, владелец, настройки, права;PATCH /repos/{owner}/{repo}— изменение параметров репозитория;POST /user/repos— создание нового репозитория для пользователя;DELETE /repos/{owner}/{repo}— удаление репозитория.
Управление содержимым
Работа с файлами и папками внутри репозитория.
GET /repos/{owner}/{repo}/branches— список веток репозитория;GET /repos/{owner}/{repo}/branches/{branch}— информация об указанной ветке репозитория;GET /repos/{owner}/{repo}/contents/{path}— содержимое файла или список файлов в папке;PUT /repos/{owner}/{repo}/contents/{filename}— создание нового или обновление существующего файла;DELETE /repos/{owner}/{repo}/contents/{filename}— удаление файла;GET /repos/{owner}/{repo}/git/trees/{tree_sha}— структура файлов и папок Git-дерева.
Работа с коммитами
GET /repos/{username}/{reponame}/commits— список коммитов с фильтрацией;GET /repos/{username}/{reponame}/commits/{sha}— информация о конкретном коммите;GET /repos/{username}/{reponame}/compare/{basehead}— сравнение двух веток или коммитов.
Git-ссылки (Git refs)
Управление ветками, тегами и кастомными ссылками.
POST /repos/{username}/{reponame}/git/refs— создание Git-ссылки (ветка, тег);GET /repos/{username}/{reponame}/git/matching-refs/{ref}— поиск Git-ссылок по префиксу;GET /repos/{username}/{reponame}/git/ref/{ref}— Git-ссылка по имени;DELETE /repos/{username}/{reponame}/git/refs/{ref}— удаление Git-ссылки.
Дополнительные методы
GET /repos/{owner}/{repo}/languages— языки программирования в репозитории;POST /repos/{owner}/{repo}/forks— создание форка репозитория;PUT /repos/{owner}/{repo}/collaborators/{username}— добавление соавтора или обновление прав;GET /orgs/{org}/repos— репозитории организации;POST /orgs/{org}/repos— создание репозитория в организации.
Возможные ошибки
| Код | Описание |
|---|---|
400 Bad Request | Некорректный формат данных |
401 Unauthorized | Необходима авторизация |
403 Forbidden | Недостаточно прав |
404 Not Found | Репозиторий не найден |
409 Conflict | Конфликт SHA (при удалении файла без указания sha) |
429 Too Many Requests | Превышен лимит запросов |
500 Internal Server Error | Внутренняя ошибка сервера |