сквошем старой отставшей от мастера ветки часто выплывает ситуация, при которой более старая версия кода переписывает более новую.
Варианты выполнения:
1. Сперва сквошу, потом делаю ребейз на текущую голову мастера. Очевидно, после сквоша новый комит имеет таймштамп новее, чем голова мастера. Отсюда старый код считается изменением поверх текущего состояния мастера.
2. Сперва делаю ребейз ветки на текущую голову мастера, потом сквошу. Но при ребейзе таймштампы комитов все равно обновляются и они все равно считаются свежими правками поверх теущего кода.
Что я делаю не так? Как отребейзить ветку старого кода, что бы правки более старого кода не перезаписывали более новые правки?
Такое чувство, что вас недостает понимания того, как работает гит в целом, коммиты и рибейс. При рибейсе меняется точка отпочковывания, после чего от нее правки из коммитов применяются заново. Дело не в таймштампах, а в порядке коммитов. И это ожидаемое поведение.
цель ребейза - в случае изменения мастера, которое делали не вы, но от которого вы отпочковали свою ветку, обновить точку почкования на новую голову мастера. можно представить это так. у вас есть стопка листов (коммитов) с именами. вы делаете новую стопку, первым листом кладёте лист на котором написано имя верхнего коммита мастера, сверху накидываете свои листы. а кто-то накидывает новые листы на мастер, и имя верхнего листа (коммита) мастера меняется. так вот ребейз это когда вы на нижнем листе своей стопки (ветки), на котором имя "старой" головы, исправляете имя нового (последнего на момент ребейза) листа. Таким образом ваши коммиты опять "сверуху" и в этом смысл и цель. А что вы хотели?
Лучшее объяснение ребейза :)
нет. громоздкое слишком :) я буду думать дальше как короче объяснять :)
Короче всего — дать ссылку на главу в гитбуке 😸
Можно ещё в аналогию с мультивселенными)) Ну, условно, применить последовательность событий из другой цепочки истории... Конечно, теперь результат будет не тот, ведь это уже совершенно другая история... ЗЫ. Простите за философию 😂
Я два раза медленно прочитал... :)
Обсуждают сегодня