GitHub API: Как получить имя ветки из списка коммитов? - PullRequest
0 голосов
/ 28 февраля 2019

Допустим, у меня есть следующие коммиты в моей ветке master.

a <- b <- c <- d <- e

Затем я создаю другую ветку с именем feature.Я делаю один коммит в этой ветке.Это выглядит так.

                      <- f
a <- b <- c <- d <- e

При использовании списка коммитов api я могу получить все коммиты для моей ветки feature.Можно ли из результата увидеть, что мой коммит f находится в ветви feature, а остальное - в master?

Или мне нужно сделать еще один запрос к сравнить двасовершает API ?В конце я хотел бы иметь все коммиты (a - f) с той ветвью, к которой они принадлежат.

Редактировать: m означает master и f для feature.

branch: m <- m <- m <- m <- m <- f
commit: a <- b <- c <- d <- e <- f

1 Ответ

0 голосов
/ 28 февраля 2019

(Вы уже обнаружили API сравнения; я включил его ниже, потому что кажется странным, что они используют другой синтаксис.)

Коммиты от A до E имеют значение в ветви feature.

Это большой сюрприз для тех, которые используются в других системах контроля версий, в которых коммит находится в точно в одной ветви.В Git коммиты находятся в ноль или более ветвей.

Чтобы перечислить коммиты, которые находятся в feature, но не в master, вы говорите Git: Собрать наборвсех коммитов в feature.Соберите второй набор всех коммитов в master.Вычтите второй набор из первого набора и покажите мне результирующий набор.

Синтаксис командной строки для этого: master..feature или feature ^master.Обратите внимание, что между двумя именами есть две , а не три , точки.Существует также синтаксис с тремя точками, имеющий другое значение (симметричное различие, которое является надмножеством значения с двумя точками, но для получения значения с двумя точками необходимо использовать индикаторы с левой / правой стороны).

Страница API GitHub предлагает API REST, который может быть эквивалентен. Любопытно, что API REST использует синтаксис three , но в описании говорится, что он дает тот же результаткак двухточечный синтаксис.Так ли это, я не знаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...