GIT: Merge or Rebase? What's the difference?
HTML-код
- Опубликовано: 25 окт 2020
- В этом видео мы рассмотрим с вами 2 способа, как перенести git коммиты из одной ветки в другую. В этом нам помогут команды Merge и Rebase.
В чем их отличия, какие сильные и слабые стороны у каждой из них. И чем пользоваться на вашем проекте? Про все это смотрите в нашем видео!
А вы мержите или ребейзите? Напишите нам внизу в комментариях!
---
Если видео было для вас полезным, ставьте лайк и поделитесь им с друзьями.
Подписывайтесь на наш канал: bit.ly/fs-ytb
---
Присоединяйтесь к нам в соцсетях:
FB: / frontendscience
Instagram Сергея Пузанкова: / puzankovcom
Заходите на наш сайт: frontend-science.com/
#git #merge #rebase
На всех собесах, где спрашивали Git, обязательно спрашивали этот вопрос (в теме видео). Спасибо за доходчивое объяснение!
Ухты класс! Не знал что такое на собеседованиях спрашивают. Рад что было полезно!
Собесы на джуна?
@@user-it7oq2bt2l И на джуна и на мидла. Я их много проходил. Некоторые компании (например Luxoft, Epam) сначала проводят жёсткий собес, а потом на его основании определяют твой уровень.
+ мне пару дней назад задали этот вопрос, но до этого я уже посмотрел это видео и ответил на вопрос более менее удачно 🙃
У меня это спросили в епаме на собесе для лабы. Я помнила только что ребейз плохо, а мерж хорошо :D
Правила просты - соблюдайте их и будет вам ЩАСТЕ:
- НИКТО и НИКОГДА не пихает коммиты (push) в чужие ветки - делайте СВОЙ бранч и работайте там спокойно (напомню, что её даже пушить - не обязательно если работаете один).
- В СВОЮ ветку для получения изменений извне лучше делать Rebase, в любую чужую - не важно чью, не говоря уже про базовые master/develop - только Merge - иначе вам придут и сломают лицо.
Из этого следует: когда над фичей работают несколько разработчиков - делается отдельная feature-ветка, после чего каждый из них ОБЯЗАН сделать СВОЁ собственное ответвление от этой feature-ветки (Branch) и продолжать работать по стандартным правилам, договариваясь отправляя сообщения: "я сегодня сделаю merge в основную feature ветку - есть возражения?" И после успешного MERGE - второе: "Ребята, я сделал merge в feature ветку - обновитесь".
Спасибо! Всегда делал мердж, но после просмотра видео понял, что можно и рибэйз использовать)
Рад что было полезно!
@@frontendscience в прошлом видео видел, что ты используешь элиас lg для вывода гит лога. Какие ещё используешь?
Я кроме lg ещё last добавил себе для вывода последнего коммита.
Спасибо!
Очень красивое видео, прям как елочка.
Спасибо за видео
Старалси :)
Мне тоже понравился момент с елочкой 👍
Все чаще возвращаюсь на этот канал для заполнения пробелов в своих знаниях.
Рад слышать:) успехов Вам!
Как же доступно автор всё объяснил! Спасибо!
Оочень четкое и понятное объяснение! Большое Вам спасибо!
Огромное спасибо за видео. Наконец-то получилось найти простое и доступное объяснение про эти команды.
И Вам спасибо! )
посмотрел 5 видео по этой теме, только на вашем понял. спасибо, подписался
Очень вдохновляет! Спасибо за обратную связь! Будем еще больше стараться)
великолепное объяснение и прекрасная подача материала! спасибо!
Наконец-то)) спасибо вам, очень хорошо объяснили, я до этого читала. И никак не могла понять. У меня скопилось много разных версий. Так и жила несколько лет 😀. Документацию к гиту писал какой - то душнила, чтоб было максимально непонятно и запутанно.
Спасибо за видео! Отличное объяснение отличий, плюсов и минусов обоих методов.
И Вам спасибо, что смотрите! Рады стараться.
Классно объясняете, понятно. Спасибо большое!
Супер! Очень доходчиво! Отдельное спасибо за вставки картинок и гифок! Поржал))))
Прикольно! Рад, что понравилось! Я старался))
Спасибо большое за объяснение.
Первый раз на вашем канале и сразу же подписалась.
Доходчивое объяснение со схемами. И отдельный респект за вставки различных мемов, гифок и "красивометр" 😁. Это помогает взбодриться и смотреть видео с бОльшей концентрацией.
мне тоже зашли мемы, гифки и красивометр 😁 хотя когда появился красивометр, я наоборот немного потеряла концентрацию, по большей части от забавности ситуации 😆
Лучшее объяснение. Спасибо огромное!
Супер!!! Самое лучшее объяснение, все просто и ясно, спасибо)))
И Вам спасибо)
Спасибо, за доступное объяснение!
Благодаря этому видео, вопрос по мерджу/ребейзу для себя закрыл. Очень доходчиво объяснил. Дякую!;)
Дай тебе Бог здоровья, хлопчик, наконец-то дошло до старика.
Объяснение merge и rebase на котиках это же гениально!))
Отлично объяснил, спасибо Сергii 👍
Работаем по разному, но в основном через merge из-за надежности. Когда бывает очень много малозначимых коммитов , например исправление опечаток в словах, тогда обычно мы делаем squash или интерактивный rebase, но видимо это следующее видео в цикле Git :)
PS: спасибо за труды, новичков в команде часто приходится подтягивать поэтому советую что посмотреть и с какого канала, у вас достойные и наглядные объяснения - буду советовать.
Благодарю тебя добрый человек!
Спасибо, отличное наглядное объяснение!
Рад, что было полезно! Спасибо за поддержку
На собесах для мидлов задают такие вопросы.
Огромное спасибо автору за простое и полное объяснение!
Спасибо большое! Мега-понятно !
Рад, что оказалось полезно! Спасибо, что смотрите)
Крутое видео и канал ооочень интересный, я очень надеюсь, что не забросишь, а будешь только дальше развиваться, спасибо!
Благодарю за поддержку! Рад, что оказалось полезно)
Отличное разъяснение, спасибо!
Отличный видос, без воды по полочкам, спасибо
Рад, что было полезно
Спасибо большое за крутой контент. Очень информативно и понятно
И Вам спасибо! ) Рад, что пригодилось
Спасибо, очень доходчиво и на котиках. Успехов!
Чел, отличное видео! Благодаря ему я всё же понял, когда и что использовать. Большинство говорит, что эти команды делают, но когда их использовать чётко - мало кто)
Рад, что пригодилось, бро)
Самое доходчивое объяснение ! спасибо!
Рад, что оказалось полезно)
Вот теперь всё понятно, спасибо!
Знал, что rebase этот мерж только по-другому, но как именно по другому не понимал (описания до этого читал перемудреные). После этого видео все стало понятно, спасибо!
Cпасибо, мне как начинающему разработчику было очень полезно!
Очень рад. Благодарю, что написали.
Лучшее объяснение! 👍
Нраицца. Спасибо. Использую merge постоянно. Теперь готов попробовать rebase
Класс! Спасибо)
Полезно) спасибо за видео вам
Лайк. Чистый вопрос на собеседовании. Плюс хорошее объяснение для понимания. Спасибо большое. Подписка.
Спасибо, дошло!
спасибо огромное! все понятно и четко
Класс, благодарю, супер понятно!
Рад, что оказалось полезно!)
Очень хорошее видео, спасибо!
И Вам спасибо ;)
О круто. Не использовал даже. Спасибо
Спасибо, очень понятно)
спасибо мен, очень подробно объяснил!)
Сопроводительные вставки повеселили, и я даже походу понял как это работает)
Спасибо.
4:23 rebase (состав + состав) Одному разрабу на ветке самый раз. Многим разрабам нужно осторожно так как меняется история и hash коммитов.
Здарово Серег. Спасибб
Наконец-то я понял что за rebase. Спасибо!
Класс! Рад, что помогло!
Нормальное объяснение ребейса, Наконец-то!
Рад, что оказалось полезно!
братан не знаю как но ты самый понятнее всего обьяснил из всего простора инета
Доходчиво. Спасибо.
Крутой материал!
Все понятно, спасибо
Да. Спасибо Сергей. Всегда хватало merge, но не давно начал искать работу и не знал даже что существует такая команда как rebase. Я просто и сказал так что не знаю - в результате не прошёл, но поинтересовался. Греет душу что не упал всё таки лицом в грязь, так как это фактически аналоги.
крутое объяснение, спасибо!
Спасибо! Все понятно!
Рад слышать 👍
Спасибо за контент!
И Вам спасибо :)
Спасибо, очень понятно, топ!
👍👍👍 вообще огонь!
спасибо за понятное объяснение. подписался на канал
Рад, что было полезно!
спасибо за объяснение
Спасибо, полезно
о, спасибо теперь понятно что и когда
Супер! Очень рад!
Супер объяснение! а можно такое же объяснение для - git squash?
О! Годнота подъехала! Спасибо тебе!
На позапрошлом месте работы, работая на одном проекте, у тимлида жёстко подгорало, когда он видел мерж-коммиты в моих мерж-реквестах., приходилось ребейсить. Но нас в команде было двое.
Потом перевели на другой проект, где в одном репозитории были и фронт и бэк. Я по привычке сделал ребейс, запушил, а потом вместе с бэкендером, работающем с данной веткой пытались разобраться в получившейся каше.
А вообще, как думаешь, хорошая практика - фронт и бэк в одном репозитории?
У меня проект, и фронт и бэк в одном репозитории, но файлы и папки разные, друг другу вообще не мешаем.
Проект на битриксе, но битрикс используем просто как админку, фронт общается с бэком через апи.
ОООО..... это очень холиварный вопрос. Тут очень много зависит от самого проекта и еще от частоты обновления, важности синхронизации бакенда и фронтенда и др. Я лично за более микросервисную архитектуру и разделение ответсвенности. Но есть много проектов где такой подход не пройдет. Так что - как говорят it depends. PS: на последок рекомендую для общего развития поискать в интернете информацию про monorepo подход. Самый крупный монорепо в Мире например у Гугла - весь код всего лежит в одном репозитории.
1 проект - 1 репозиторий. Фронт это один проект. апи сервера это другие проектЫ. Т.е. репозиториев должно быть ни менее 2. Два апи+фронт = 3 репозитория.
@@olezhonnv3215 до поры до времени, пока 10 человек с разными целями не попытаются это всё смержить и куча конфликтов либо кривой автомрж всё не похерит. Уже проходили.
💯✨💯✨Идеально объяснил
Рад, что было полезно)
Спасибо!
Спасибо огромное)
И Вам! )
Всё-таки можно посмотреть в какие моменты "подобновляли" свою ветку. Нужно ребейз делать с флагом --committer-date-is-author-date Но это и не важно (дата обновления). Важна лишь последовательность и дата, когда данный коммит попал в общую ветку, т.е. повлиял на других.
Самое ёмкое и понятное объяснение😍 Спасибо!
Гениально!
Благодарю! 👍
Наконец то я стал понимать о чем речь!
Рад что оказалось полезным!
спасибо!
пользуюсь только merge, как раз потому что не имел ни одного проекта, который разрабатывал бы один
отличный материал, спасибо!
рассказ про ветки же
одна ветка на проект?
респект, красавчик
Great!
Достойно лайка
Спс, за обьяснения. Я всегда боялся ребейза. Я толком даже и мердж не юзал - всегда писал git pull origin branch...Спс за обьяснение
Класс! Рад, что оказалось полезным!
красивометр заставил меня ухмельнуться😄
шикарно
мужик, спасибо!
можно ли добавлять фичу в мастер через рибейз? или это только для обновления?
Круто! А можно ребейз откатить? Если при ребейзе неправильно решены конфликты
Использовали и мерж и ребейз. Ребейз более опасная операция по сравнению с мержем, решили, что кто как хочет, тот так и делает в своей ветке. В сумме, не сильно мешает потом найти коммит с изменениями.
Привет. Спасибо за видео. Я только начал изучать и у меня может странный вопрос. Если я находясь в ветке "фича" сделаю git merge main, то разве моя ветка "фича" не станет единственной и главной? Я думаю это не по православному и нужно мержить свою ветку в "мейн". Я ошибаюсь?
У нас на проекте аналогичный подход )
А если я несколько раз буду обновлять свою фича ветку разными (обновленными) мастерами, то эти мастера в конфликт не войдут между собой? и не будут ли каждый раз заново добавляться к моей фича вет
ке? не окажется ли перед моей фичой после нескольких обнновлений 5-6 мастеров разных версий?
17 лет в разработке. Норм ман для начинающих!
Спасибо за объснения.
А вообще есть возможность, используя merge (а на rebase), сделать pull request (например, на github), содержащий только свои изменения в истории?
Для создания пуллреквеста вообще не нужен ни мерж ни рибейз. Просто создается ветка от свежего мастера и туда делаются коммиты. А вот чтобы эту ветку слить с мастером когда будет заапрувлен pr, вот тогда обычно используется мерж.
лайк, подписался
спасибо, классно объяснили
#git #merge #rebase
спасибо
Крутяк!!!!
Рад, что понравилось)
Использую всегда merge, в проектах несколько разрабов, поэтому безопасность превыше эстетики)
top, super, like
Агонь! Где ты был раньше?
Рад, что понравилось! Благодарю за поддержку)
А чтобы подобновить свою ветку, нужно ведь master подтянуть сначала git pull?