Я читал документацию по GitHub API и не знаю, что делать с методом Merge Pull Request.
https://developer.github.com/v3/pulls/#merge-a-pull-request-merge-button
В частности, с параметром SHA. Я не понимаю, что именно я должен предоставить API.
В разделе INPUT указано, что я должен предоставить
Где я могу точно получить значение sha, которое мне нужно передать в API?
Спасибо!
Спасибо, ребята, я действительно ценю. Один комментарий, если кто-то дойдет до этого поста, Github ожидает полную строку хеш-коммита, а не только 7 символов (короткая версия). Если вы передадите короткую строку, вы получите ошибку 422. Ваше здоровье!
Рассмотрим следующую диаграмму, на которой показана ветвь функции, полученная из некоторой базовой ветви:
base: ... A -- B -- C
\
feature: D -- E
Предположим, что мы создали пул реквест из feature
, возвращаясь к base
. GitHub выполнит этот пул реквест, объединив feature
с base
. Запрос на вытягивание HEAD на момент создания запроса на вытягивание будет зафиксирован E
в feature
. Но HEAD ветки feature
может измениться до завершения запроса на вытягивание.
Вызов API, который вы упомянули, включает в себя SHA-1
хэш HEAD запроса на вытягивание в качестве требования для завершения запроса на вытягивание. Это позволит избежать возможности слияния feature
обратно с base
при содержании коммитов дополнительный после коммита E
.
Что касается того, как найти хэш SHA-1
для E
, запроса на вытягивание HEAD, вы можете просто попробовать использовать git log
, например.
# from feature
git log
Затем проверьте вывод, что должно быть последней записью коммита E
, и найдите хэш.
Каждая фиксация имеет SHA (алгоритм безопасного хеширования), поэтому строка типа «f5dc32dc» действует как уникальный идентификатор этой фиксации. Запрос на вытягивание необходим для того, чтобы SHA последней фиксации ("HEAD") в рассматриваемой ветке был действительным.