Как получить все коммиты для запроса на слияние в git? - PullRequest
0 голосов
/ 11 апреля 2019

Команда git show --raw покажет, был ли сгенерирован хеш коммита из слияния:

$ git show --raw -m 3d1718
commit 3d1718fb99d52d35700b596bac45caffd1af00dc (from 8923654049aa49c4813fa612e4108271e0361240)
Merge: 8923654 3f1a071
...

В случае, когда слияние было получено с вилки в origin / master, анализ выходных данных покажет, какиеХеш коммита был ГОЛОВКОЙ происхождения / мастера, и хеш коммита пришел с вилки.Пока все хорошо.

Как только я получу хеш коммита из форка, как мне сгенерировать список хэшей для всех коммитов, которые являются частью этого слияния?История может выглядеть следующим образом:

H---->J---->W    origin/master
 \         /
  Q-->R-->T      fork

В этом случае команда git show --raw -m будет выполнена для хэша для W, и я могу получить хэш для T. Но как мне получить хэшидля Q и R?

Ответы [ 2 ]

1 голос
/ 11 апреля 2019

Будет:

git log master~..fork --oneline

Тебе подходит?

Он регистрирует все коммиты в fork, но не в master~ (один коммит до слияния).

В терминах коммитов это будет:

git log J..T --oneline
0 голосов
/ 11 апреля 2019

git log $(git merge-base --octopus $(git log -1 --merges --pretty=format:%P)).. --boundary
Показать коммиты, вовлеченные в предыдущее слияние git

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