Легко получить доступ к объединенным коммитам через git show? - PullRequest
0 голосов
/ 21 февраля 2019

Принимая во внимание следующую недавнюю историю, существует ли какой-либо способ, похожий на git show HEAD^, получить доступ к любому из коммитов, которые были объединены с коммитом слияния в HEAD?

*   abcdef1 (HEAD -> master, origin/master, origin/HEAD) ? Merge pull request #242 from features/blah-blah-blah
|\
| * beeg00d (origin/features/api-v3, features/api-v3) ?✨ upgrade app to API v3
| * c0ffee1 ? add feature flags
| * e3ca62a ? update whoosiwhatsit gem to version 3.0
|/
*   fedcba1 ? Merge pull request #241 from features/yada-yada-yada

Другими словами,git show HEAD покажет информацию для фиксации abcdef1, а git show HEAD^ покажет ее для fedcba1, но я хочу видеть beeg00d и c0ffee1 без необходимости вводить хэш-символ за символом (или еще хуже используя мою мышь для копирования и вставки).Есть ли какой-нибудь способ, через удобное сокращение от HEAD^, получить доступ к этим коммитам?

Я не хочу видеть коммиты merge , я хочу видеть merge d коммит.

1 Ответ

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

Да: HEAD^ означает HEAD^1, что означает первый родительский элемент abcdef1, который fedcbca1, а HEAD^2 означает второй родительский элемент abcdef1 который beeg00d.От этого второго родителя другой ^1 ведет к c0ffee1, а третий ^1 ведет к e3ca62a.(Четвертый ведет к fedcba1.)

Следовательно:

HEAD^2^1^1

выбирает, например, e3ca62a.

В любое время, когда у вас есть ^1, выможет отбрасывать 1, давая:

HEAD^2^^

Каждый раз, когда вы повторяете n ^ символов в последовательности, вы можете заменить это на ~<em>n</em>, давая:

HEAD^2~2

хотя в этом случае это не меньше, чем просто набрать ^ дважды.

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