Re[6]: Git: rebase vs merge или линейная история против спагетти
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 21.02.22 16:59
Оценка:
Здравствуйте, ·, Вы писали:

vsb>>>>·>Кстати. Если подумать, то мерж по большому счёту немного про другое. Это когда у тебя сложный продукт со множеством поддерживаемых версий. Т.е. обнаружили багу в JDK, выяснили, что она тянется аж с java8. Пофиксили в java8, а потом это всё замержили и в java11, 17 и master.

N>>Не получится замержить, код сильно разный.
·>_Если_ будет конфликт — зарезолвим. В этом и суть мержей — сливать разный код и разрешать конфликты если сильно разный.

Для настоящего мержа нужна общая база истории, причём честная. И зачем её тут такую поддерживать?

N>>·> cherry-picking обычно нужен для бэкпортов. Например, поправили багу в 17й версии. Вылез клиент, сидящий на версии 8, не желающий переезжать на 17ю, но готовый заплатить за фикс этой баги. Вот для него зачеррипикаем те фиксы, которые он хочет поверх версии на которой он сидит.

N>>А могли начать фиксить в 8-й и черипиками доползти вверх до 17-й. Разницы по сути никакой.
·>Разница в графе истории. Так у тебя две навечно разъехавшиеся ветки, сравнить которые нет никакой возможности. А если в графе настоящие мержи, то всё как на ладони.

Зачем их вообще _так_ сравнивать?

vsb>>>>А куда тут мердж засунуть, я вообще не представляю.

N>>·>Все ожидают, что 17я версия содержит всё что есть в 8й, значит 17я — потомок 8й. Иными словами, все коммиты в 8й мержатся в 17ю.
N>>Нет, может быть много специфики, которая в 17-й просто нафиг не нужна (например, подсистема переделана и проблемы нет уже в принципе).
·>Тогда будет пустой мерж. В графе истории зафиксируется явная запись о том, что "подсистема переделана, проблема больше не актуальна". Вместо "а хз, вася вроде смотрел год назад, и вроде бы что-то пофиксил в каком-то из бранчей, надо бы в почте покопаться...".

Ну а так эта история присутствует в тикете. Чем это хуже чем держать её в репе?
Всё равно будут смотреть в тикете в первую очередь.
The God is real, unless declared integer.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.