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

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

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

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

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

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

7 ответов

37 просмотров

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

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

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

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

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

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

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

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

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

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

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