Репозитории
Этот раздел API позволяет работать с репозиториями GitVerse.
Получение/обновление информации о репозитории
1. GET /repos/{owner}/{repo}
Возвращает основные данные о репозитории: название, владельца, настройки, права пользователя и т.д.
2. PATCH /repos/{owner}/{repo}
Позволяет изменять ключевые параметры репозитория, такие как название, описание, приватность и поведение при слиянии веток.
3. POST /user/repos
Создает новый репозиторий для пользователя.
Управление содержимым
4. GET /repos/{owner}/{repo}/contents/{path}
Позволяет получить содержимое файла (в Base64) или список файлов внутри папки.
5. PUT /repos/{owner}/{repo}/contents/{filename}
Создает новый файл или обновляет существующий в указанной ветке.
6. DELETE /repos/{owner}/{repo}/contents/{filename}
Удаляет указанный файл из репозитория.
7. GET /repos/{owner}/{repo}/git/trees/{tree_sha}
Возвращает структуру файлов и папок, связанную с указанным деревом Git.
Работа с коммитами
8. GET /repos/{username}/{reponame}/commits
Возвращает список коммитов репозитория с возможностью фильтрации по ветке, пути, автору, дате и другим параметрам.
9. GET /repos/{username}/{reponame}/commits/{sha}
Возвращает полную информацию о конкретном коммите, включая автора, сообщение, статистику изменений и список затронутых файлов.
10. GET /repos/{username}/{reponame}/compare/{basehead}
Сравнивает две ветки, тега или коммита и возвращает разницу между ними (аналог git diff
). Полезно для анализа изменений перед созданием Pull Request.
11. POST /repos/{username}/{reponame}/git/refs
Создает новую Git-ссылку (ветку, тег или кастомную ссылку) в репозитории.
Дополнительные методы
12. GET /repos/{owner}/{repo}/issues
Возвращает список задач (issues) репозитория. На данный момент содержит только запросы на слияние (Pull Requests).
13. GET /repos/{owner}/{repo}/languages
Возвращает список языков, используемых в репозитории, с указанием количества строк кода на каждом.
14. POST /repos/{owner}/{repo}/forks
Создает форк репозитория для текущего пользователя.
15. PUT /repos/{owner}/{repo}/collaborators/{username}
Добавляет пользователя как соавтора репозитория или обновляет его уровень доступа.
Возможные ошибки
Код | Описание |
---|---|
400 Bad Request | Некорректный формат данных |
401 Unauthorized | Необходима авторизация |
403 Forbidden | Недостаточно прав |
404 Not Found | Репозиторий не найден |
409 Conflict | Конфликт SHA (при удалении файла без указания sha ) |
500 Internal Server Error | Внутренняя ошибка сервера |