Я создал тестовый проект git, чтобы выяснить, как мне получить разницу между двумя ветвями.git отличается журналами между двумя ветвями
В большинстве случаев мы будем иметь такой случай: хозяин филиал имеет вишню несколько фиксаций освоить см ниже графике:
«Я» совершить это вишня освоить отрасль. Мой ожидаемый результат разницы между журналами между master и dbg_feature должен быть только «J».
Но на самом деле, когда я запускаю команду ниже:
git cherry -v master dbg_feature
я буду получать "I" и "J", вишня, выбрал один "я" по-прежнему перечислять в нем:
+ a1915061be2f445d322abc7bfb7d19bbb357b917 I
+ 6486e899e07b6d6f539cbcad10655dcc345f434d J
Если я запускаю команду ниже:
git log --oneline --no-merges master..dbg_feature
выход ниже:
6486e89 J
a191506 I
Если запустить мерзавец преподобного список команды, как показано ниже:
git rev-list --oneline --no-merges --cherry-pick --right-only master...dbg_feature
6486e89 J
a191506 I
Результата кажется таким же, как журнал мерзавца.
Итак, какова правильная команда для получения точных различий между двумя ветвями?
Захватывание вишневых записок будет рассматриваться как новый коммит, поэтому я думаю, что невозможно отличить отбор вишнёвых коммитов. если все слилось, все должно быть хорошо. – beetlej
Немного странно, согласно выводам, «I» и «J» должны быть связаны с dbg_feature, но не с мастером. Кроме того, у мастера нет никаких эквивалентных коммитов для I или J. Если у него есть эквивалентная фиксация для I, + должен быть -. – ElpieKay
@ElpieKay Да, потому что я вишневый, чтобы овладеть, но эта команда, похоже, этого не знает. – lucky1928