API Github - создать ветку?
Кажется, что он отсутствует в документах Repos для v1, v2 и v3... как мне создать ветку с помощью API Github?
Ответы
Ответ 1
API V3 упоминает ветки на своей странице справки
Ссылка в URL должна быть отформатирована как heads/branch
, а не только branch
.
Например, вызов для получения данных для ветки с именем sc/featureA
будет выглядеть следующим образом:
GET /repos/:user/:repo/git/refs/heads/sc/featureA
Создать ссылку
POST /repos/:user/:repo/git/refs
Параметры
ref
Строка имени полностью квалифицированной ссылки (то есть: refs/heads/master). Если он не начинается с 'refs и имеет как минимум две черты, он будет отклонен.
sha
Строка значения SHA1 для установки этой ссылки на
Таким образом, должно быть возможно создать новую ветвь, назвав новый параметр "/heads
" в параметре ref.
Potherca указывает на рабочий тест, используя сервис www.hurl.it
(что делает HTTP-запросы)
-
Найдите версию, с которой хотите перейти.
Либо на самом Github, либо на запрос GET от Hurl:
https://api.github.com/repos/<AUTHOR>/<REPO>/git/refs/heads
-
Скопируйте хеш версии
-
Сделайте запрос POST от Hurl до https://api.github.com/repos/<AUTHOR>/<REPO>/git/refs
следующим текстом
:
{
"ref": "refs/heads/<NEW-BRANCH-NAME>",
"sha": "<HASH-TO-BRANCH-FROM>"
}
(очевидно, заменив <NEW-BRANCH-NAME>
на имя, которое вы хотите иметь новую ветвь, и <HASH-TO-BRANCH-FROM>
с, знаете ли, хешем ревизии, из которой вы хотите перейти)
Вам нужно будет использовать HTTP basic и заполнить свои учетные данные Github для доступа к API Github.
-
Нажмите кнопку "Отправить", и ваша ветка будет создана!
Ответ 2
Это общая проблема для всех студентов, когда мы создаем API для создания ветки в GitHub.
{
"message": "Not Found",
"documentation_url": "https://developer.github.com/v3"
}
Для решения этой ошибки при создании репозитория в Github.....
-
Сначала создайте личный токен в
Github => настройка => developerOption => generatePersonalToken...
or
во время gitLogin bu Oauth, когда вы передаете client_id, в это время вы передаете scope = repo (потому что это разрешает все хранилище, когда вы используете токен или что-то еще)
-
После этого: нажмите API (получить)
https://api.github.com/repos/<your login name>/<Your Repository Name>/git/refs/heads
-
Вы получили ответ, который похож на
Response => {
[
{
"ref": "refs/heads/<already present branch name for ref>",
"node_id": "jkdhoOIHOO65464edg66464GNLNLnlnnlnlna==",
"url": " https://api.github.com/repos/<your login name>/<Your Repository Name>/git/refs/heads/<already present branch name for ref>",
"object": {
"sha": "guDSGss85s1KBih546465kkbNNKKbkSGyjes56",
"type": "commit",
"url": " https://api.github.com/repos/<your login name>/<Your Repository Name>/git/commits/guDSGss85s1KBih546465kkbNNKKbkSGyjes56"
}
}
]
}
-
Завершите этот процесс снова нажмите API (Пост)
https://api.github.com/repos/Bhupi2508/Test/git/refs...
И отправьте данные в формате JSON следующим образом:
{
"ref": "refs/heads/<new branch name>",
"sha": "4661616ikgohlKIKHBK4634GRGSD66"
}
ТОГДА ВЫ СОЗДАЕТЕ ФИЛИАЛ В GITHUB ПО API
И процесс удаления ветки ударил только DELETE (первый) API