Точно так же, как предварительное замечание, немного запутанно описывать их как слияния - это просто вишневые пики, то есть коммиты, созданные путем применения патча, введенного другим коммитом, к новому родителю.
git cherry
смотрит на патч, который вводит коммит, и проверяет, есть ли уже аналогичный патч, который был введен в ветке upstream. Как описано в справочной странице git cherry , решение о том, являются ли два исправления одинаковыми, зависит от того, имеют ли они одинаковый «идентификатор исправления» , который описывается как:
«Идентификатор патча» - это не что иное, как SHA1 разницы, связанной с патчем, при этом пропуски и номера строк игнорируются. Как таковой, он «достаточно стабилен», но в то же время также достаточно уникален, то есть два патча с одинаковым «идентификатором патча» почти гарантированно будут одним и тем же.
Итак, вы можете использовать эту вещь для поиска вероятных дублирующих коммитов.
Итак, я подозреваю, что если фиксация, связанная с comment2
, не определяется как уже примененная, то это потому, что идентификаторы патчей разные. Это может быть, например, из-за того, что вам пришлось разрешать конфликт при выборе вишни для коммита, связанного с comment2
. Это вполне может означать, что патчи, которые вводят коммиты, в конечном итоге будут другими. Вы можете убедиться, что это правильно, сравнив выходные данные этих двух команд:
git show 26370b3
git show 235b082