Ребят, научите правильно ребейзить со сквошем. Проблема: При ребейзе со

сквошем старой отставшей от мастера ветки часто выплывает ситуация, при которой более старая версия кода переписывает более новую.

Варианты выполнения:

1. Сперва сквошу, потом делаю ребейз на текущую голову мастера. Очевидно, после сквоша новый комит имеет таймштамп новее, чем голова мастера. Отсюда старый код считается изменением поверх текущего состояния мастера.

2. Сперва делаю ребейз ветки на текущую голову мастера, потом сквошу. Но при ребейзе таймштампы комитов все равно обновляются и они все равно считаются свежими правками поверх теущего кода.

Что я делаю не так? Как отребейзить ветку старого кода, что бы правки более старого кода не перезаписывали более новые правки?

7 ответов

21 просмотр

Такое чувство, что вас недостает понимания того, как работает гит в целом, коммиты и рибейс. При рибейсе меняется точка отпочковывания, после чего от нее правки из коммитов применяются заново. Дело не в таймштампах, а в порядке коммитов. И это ожидаемое поведение.

цель ребейза - в случае изменения мастера, которое делали не вы, но от которого вы отпочковали свою ветку, обновить точку почкования на новую голову мастера. можно представить это так. у вас есть стопка листов (коммитов) с именами. вы делаете новую стопку, первым листом кладёте лист на котором написано имя верхнего коммита мастера, сверху накидываете свои листы. а кто-то накидывает новые листы на мастер, и имя верхнего листа (коммита) мастера меняется. так вот ребейз это когда вы на нижнем листе своей стопки (ветки), на котором имя "старой" головы, исправляете имя нового (последнего на момент ребейза) листа. Таким образом ваши коммиты опять "сверуху" и в этом смысл и цель. А что вы хотели?

Const
Лучшее объяснение ребейза :)

нет. громоздкое слишком :) я буду думать дальше как короче объяснять :)

☭ ktrace
нет. громоздкое слишком :) я буду думать дальше к...

Короче всего — дать ссылку на главу в гитбуке 😸

☭ ktrace
цель ребейза - в случае изменения мастера, которое...

Можно ещё в аналогию с мультивселенными)) Ну, условно, применить последовательность событий из другой цепочки истории... Конечно, теперь результат будет не тот, ведь это уже совершенно другая история... ЗЫ. Простите за философию 😂

Похожие вопросы

Обсуждают сегодня

Добрый вечер, Пока не совсем понимаю как наладить общение между телеграм ботом и ПО для работы с сим боксом. По самому боту так понял: - Нужен некий баланс, который можно поп...
Magic
6
Объясните, пожалуйста, почему компилятор ругается на использование в условии неинициализированной переменной: int x; Task.Run(async () => { x = await somefunc(); }).Wait...
Александр
5
Всем привет. Ребята, подскажите, пожалуйста. у ботов есть ограничение на отправку сообщений - 30 сообщений в секунду, эти ограничения накладываются на все сообщения? или на со...
Artem Stormageddon
4
Блин, ребята, сори за тупые вопросы. А можно ли как-то открыть вебапку по нажатию на кнопку в меню(которое появляется слева, команды)?
Artem Stormageddon
3
Коллеги, может знает кто, можно ли цвет бейджа счётчика в BackendMenu менять без бубнов?
Alex Blaze
3
а плаксы из-под питона умеют только в комфортных условиях что-то выдавить из себя?)
Lencore
9
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
13
Привет!) Кто как юзает переменные в строках?) Чисто ради интереса Вот так: echo "У меня {$bananasAmount} бананов"; Или вот так: echo "У меня ${bananasAmount} бананов";
Виталий
3
разработчик ботов скидывает портфолио, боты которые он уже создал. А вот как узнать что это именно он их создал?
Gosudar
4
Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
Карта сайта