Кажется, что он отсутствует в документах Repos для v1, v2 и v3... как мне создать ветку с помощью API Github?
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