Тёмный

GIT: Merge or Rebase? What's the difference? 

Front-end Science with Sergey Puzankov
Подписаться 62 тыс.
Просмотров 129 тыс.
50% 1

В этом видео мы рассмотрим с вами 2 способа, как перенести git коммиты из одной ветки в другую. В этом нам помогут команды Merge и Rebase.
В чем их отличия, какие сильные и слабые стороны у каждой из них. И чем пользоваться на вашем проекте? Про все это смотрите в нашем видео!
А вы мержите или ребейзите? Напишите нам внизу в комментариях!
---
Если видео было для вас полезным, ставьте лайк и поделитесь им с друзьями.
Подписывайтесь на наш канал: bit.ly/fs-ytb
---
Присоединяйтесь к нам в соцсетях:
FB: / frontendscience
Instagram Сергея Пузанкова: / puzankovcom
Заходите на наш сайт: frontend-science.com/
#git #merge #rebase

Опубликовано:

 

25 окт 2020

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 270   
@kisurov
@kisurov 3 года назад
На всех собесах, где спрашивали Git, обязательно спрашивали этот вопрос (в теме видео). Спасибо за доходчивое объяснение!
@frontendscience
@frontendscience 3 года назад
Ухты класс! Не знал что такое на собеседованиях спрашивают. Рад что было полезно!
@user-it7oq2bt2l
@user-it7oq2bt2l 3 года назад
Собесы на джуна?
@kisurov
@kisurov 3 года назад
@@user-it7oq2bt2l И на джуна и на мидла. Я их много проходил. Некоторые компании (например Luxoft, Epam) сначала проводят жёсткий собес, а потом на его основании определяют твой уровень.
@denisoleksyuk5346
@denisoleksyuk5346 3 года назад
+ мне пару дней назад задали этот вопрос, но до этого я уже посмотрел это видео и ответил на вопрос более менее удачно 🙃
@anastasiyaboiko8862
@anastasiyaboiko8862 2 года назад
У меня это спросили в епаме на собесе для лабы. Я помнила только что ребейз плохо, а мерж хорошо :D
@vasilyh4588
@vasilyh4588 Год назад
Правила просты - соблюдайте их и будет вам ЩАСТЕ: - НИКТО и НИКОГДА не пихает коммиты (push) в чужие ветки - делайте СВОЙ бранч и работайте там спокойно (напомню, что её даже пушить - не обязательно если работаете один). - В СВОЮ ветку для получения изменений извне лучше делать Rebase, в любую чужую - не важно чью, не говоря уже про базовые master/develop - только Merge - иначе вам придут и сломают лицо. Из этого следует: когда над фичей работают несколько разработчиков - делается отдельная feature-ветка, после чего каждый из них ОБЯЗАН сделать СВОЁ собственное ответвление от этой feature-ветки (Branch) и продолжать работать по стандартным правилам, договариваясь отправляя сообщения: "я сегодня сделаю merge в основную feature ветку - есть возражения?" И после успешного MERGE - второе: "Ребята, я сделал merge в feature ветку - обновитесь".
@MrNightingale1989
@MrNightingale1989 3 года назад
Спасибо! Всегда делал мердж, но после просмотра видео понял, что можно и рибэйз использовать)
@frontendscience
@frontendscience 3 года назад
Рад что было полезно!
@MrNightingale1989
@MrNightingale1989 3 года назад
@@frontendscience в прошлом видео видел, что ты используешь элиас lg для вывода гит лога. Какие ещё используешь? Я кроме lg ещё last добавил себе для вывода последнего коммита. Спасибо!
@peacedets
@peacedets 18 дней назад
Дай тебе Бог здоровья, хлопчик, наконец-то дошло до старика.
@inaccessibleJr
@inaccessibleJr 3 года назад
Очень красивое видео, прям как елочка. Спасибо за видео
@frontendscience
@frontendscience 3 года назад
Старалси :)
@atlantatesla9348
@atlantatesla9348 2 года назад
Мне тоже понравился момент с елочкой 👍
@user-ug1vi3bv1f
@user-ug1vi3bv1f Год назад
Как же доступно автор всё объяснил! Спасибо!
@desire88
@desire88 2 года назад
Работаем по разному, но в основном через merge из-за надежности. Когда бывает очень много малозначимых коммитов , например исправление опечаток в словах, тогда обычно мы делаем squash или интерактивный rebase, но видимо это следующее видео в цикле Git :) PS: спасибо за труды, новичков в команде часто приходится подтягивать поэтому советую что посмотреть и с какого канала, у вас достойные и наглядные объяснения - буду советовать.
@RinMagnetic
@RinMagnetic 3 года назад
Огромное спасибо за видео. Наконец-то получилось найти простое и доступное объяснение про эти команды.
@frontendscience
@frontendscience 3 года назад
И Вам спасибо! )
@petroboiko3019
@petroboiko3019 2 года назад
Все чаще возвращаюсь на этот канал для заполнения пробелов в своих знаниях.
@frontendscience
@frontendscience 2 года назад
Рад слышать:) успехов Вам!
@DmitryYaskov
@DmitryYaskov 2 года назад
великолепное объяснение и прекрасная подача материала! спасибо!
@andyanderson222
@andyanderson222 2 года назад
Оочень четкое и понятное объяснение! Большое Вам спасибо!
@user-cn3zn4gi8o
@user-cn3zn4gi8o 3 дня назад
Наконец-то)) спасибо вам, очень хорошо объяснили, я до этого читала. И никак не могла понять. У меня скопилось много разных версий. Так и жила несколько лет 😀. Документацию к гиту писал какой - то душнила, чтоб было максимально непонятно и запутанно.
@atlantatesla9348
@atlantatesla9348 2 года назад
Спасибо большое за объяснение. Первый раз на вашем канале и сразу же подписалась. Доходчивое объяснение со схемами. И отдельный респект за вставки различных мемов, гифок и "красивометр" 😁. Это помогает взбодриться и смотреть видео с бОльшей концентрацией.
@Polinko007
@Polinko007 7 месяцев назад
мне тоже зашли мемы, гифки и красивометр 😁 хотя когда появился красивометр, я наоборот немного потеряла концентрацию, по большей части от забавности ситуации 😆
@gerasim_vol
@gerasim_vol 3 года назад
посмотрел 5 видео по этой теме, только на вашем понял. спасибо, подписался
@frontendscience
@frontendscience 3 года назад
Очень вдохновляет! Спасибо за обратную связь! Будем еще больше стараться)
@filinyellow7134
@filinyellow7134 3 года назад
Спасибо за видео! Отличное объяснение отличий, плюсов и минусов обоих методов.
@frontendscience
@frontendscience 3 года назад
И Вам спасибо, что смотрите! Рады стараться.
@Vlad-em1bx
@Vlad-em1bx 2 года назад
На собесах для мидлов задают такие вопросы. Огромное спасибо автору за простое и полное объяснение!
@avorion-ru
@avorion-ru 2 года назад
Классно объясняете, понятно. Спасибо большое!
@user-gl9qi5dv1o
@user-gl9qi5dv1o Год назад
Благодаря этому видео, вопрос по мерджу/ребейзу для себя закрыл. Очень доходчиво объяснил. Дякую!;)
@margino
@margino Год назад
Спасибо, за доступное объяснение!
@WalkHB2
@WalkHB2 2 года назад
Знал, что rebase этот мерж только по-другому, но как именно по другому не понимал (описания до этого читал перемудреные). После этого видео все стало понятно, спасибо!
@andreifokin311
@andreifokin311 2 года назад
Супер! Очень доходчиво! Отдельное спасибо за вставки картинок и гифок! Поржал))))
@frontendscience
@frontendscience 2 года назад
Прикольно! Рад, что понравилось! Я старался))
@zagboris
@zagboris 2 года назад
Лучшее объяснение. Спасибо огромное!
@antontigunov5058
@antontigunov5058 3 года назад
Крутое видео и канал ооочень интересный, я очень надеюсь, что не забросишь, а будешь только дальше развиваться, спасибо!
@frontendscience
@frontendscience 3 года назад
Благодарю за поддержку! Рад, что оказалось полезно)
@bohdan2812
@bohdan2812 Год назад
Благодарю тебя добрый человек!
@user-yc4hm6oo9k
@user-yc4hm6oo9k 3 года назад
Супер!!! Самое лучшее объяснение, все просто и ясно, спасибо)))
@frontendscience
@frontendscience 3 года назад
И Вам спасибо)
@yuriuss
@yuriuss Год назад
Отлично объяснил, спасибо Сергii 👍
@MrKoTera
@MrKoTera 3 года назад
Чел, отличное видео! Благодаря ему я всё же понял, когда и что использовать. Большинство говорит, что эти команды делают, но когда их использовать чётко - мало кто)
@frontendscience
@frontendscience 3 года назад
Рад, что пригодилось, бро)
@Rom4eS
@Rom4eS 2 года назад
Объяснение merge и rebase на котиках это же гениально!))
@user-ww1qh5fu7j
@user-ww1qh5fu7j 2 года назад
Вот теперь всё понятно, спасибо!
@ingvarr6235
@ingvarr6235 3 года назад
Спасибо, отличное наглядное объяснение!
@frontendscience
@frontendscience 3 года назад
Рад, что было полезно! Спасибо за поддержку
@artkoorosawa6432
@artkoorosawa6432 2 года назад
Да. Спасибо Сергей. Всегда хватало merge, но не давно начал искать работу и не знал даже что существует такая команда как rebase. Я просто и сказал так что не знаю - в результате не прошёл, но поинтересовался. Греет душу что не упал всё таки лицом в грязь, так как это фактически аналоги.
@arturmusin1958
@arturmusin1958 3 года назад
Спасибо большое! Мега-понятно !
@frontendscience
@frontendscience 3 года назад
Рад, что оказалось полезно! Спасибо, что смотрите)
@bama2619
@bama2619 Год назад
Спасибо. 4:23 rebase (состав + состав) Одному разрабу на ветке самый раз. Многим разрабам нужно осторожно так как меняется история и hash коммитов.
@Shakl-e
@Shakl-e 2 года назад
Лучшее объяснение! 👍
@user-zg8ij3kt1h
@user-zg8ij3kt1h 7 месяцев назад
Спасибо, очень доходчиво и на котиках. Успехов!
@dreamer_vi905
@dreamer_vi905 2 месяца назад
Лайк. Чистый вопрос на собеседовании. Плюс хорошее объяснение для понимания. Спасибо большое. Подписка.
@user-ls4gh7cq3s
@user-ls4gh7cq3s 3 года назад
Спасибо большое за крутой контент. Очень информативно и понятно
@frontendscience
@frontendscience 3 года назад
И Вам спасибо! ) Рад, что пригодилось
@dmytrokireiev9241
@dmytrokireiev9241 3 года назад
Нраицца. Спасибо. Использую merge постоянно. Теперь готов попробовать rebase
@frontendscience
@frontendscience 3 года назад
Класс! Спасибо)
@Dmitriy-bq2xh
@Dmitriy-bq2xh 3 года назад
Спасибо, дошло!
@mzx6531
@mzx6531 2 года назад
Отличный видос, без воды по полочкам, спасибо
@frontendscience
@frontendscience 2 года назад
Рад, что было полезно
@user-xb4no8jb2q
@user-xb4no8jb2q 3 года назад
Cпасибо, мне как начинающему разработчику было очень полезно!
@frontendscience
@frontendscience 3 года назад
Очень рад. Благодарю, что написали.
@diadia6218
@diadia6218 Год назад
Отличное объяснение, спасибо!
@slaviksemen4919
@slaviksemen4919 6 месяцев назад
братан не знаю как но ты самый понятнее всего обьяснил из всего простора инета
@user-lq1vu4xi2p
@user-lq1vu4xi2p 2 года назад
Самое доходчивое объяснение ! спасибо!
@frontendscience
@frontendscience 2 года назад
Рад, что оказалось полезно)
@shelovessugar9950
@shelovessugar9950 Год назад
Спасибо, очень понятно)
@thghtfl
@thghtfl 4 месяца назад
спасибо огромное! все понятно и четко
@ihormanzii
@ihormanzii 2 года назад
Класс, благодарю, супер понятно!
@frontendscience
@frontendscience 2 года назад
Рад, что оказалось полезно!)
@user-bv2ih2fb5v
@user-bv2ih2fb5v 3 года назад
Наконец-то я понял что за rebase. Спасибо!
@frontendscience
@frontendscience 3 года назад
Класс! Рад, что помогло!
@K-BotN_
@K-BotN_ 2 года назад
Очень хорошее видео, спасибо!
@frontendscience
@frontendscience 2 года назад
И Вам спасибо ;)
@suspiciousgoose7904
@suspiciousgoose7904 13 дней назад
Полезно) спасибо за видео вам
@dimasamsonau3646
@dimasamsonau3646 2 года назад
спасибо мен, очень подробно объяснил!)
@UralSmart
@UralSmart Год назад
Все понятно, спасибо
@a.osethkin55
@a.osethkin55 2 года назад
О круто. Не использовал даже. Спасибо
@eaglesm1993
@eaglesm1993 2 года назад
Сопроводительные вставки повеселили, и я даже походу понял как это работает)
@user-rf8je4zv1j
@user-rf8je4zv1j Год назад
Крутой материал!
@dmitry6687
@dmitry6687 3 года назад
Нормальное объяснение ребейса, Наконец-то!
@frontendscience
@frontendscience 3 года назад
Рад, что оказалось полезно!
@Leyla-kk5vo
@Leyla-kk5vo 10 месяцев назад
Спасибо, очень понятно, топ!
@leokorsunsky2395
@leokorsunsky2395 2 года назад
Спасибо за контент!
@frontendscience
@frontendscience 2 года назад
И Вам спасибо :)
@andygr1n1
@andygr1n1 2 года назад
пользуюсь только merge, как раз потому что не имел ни одного проекта, который разрабатывал бы один отличный материал, спасибо!
@user-zu3rw3cr1u
@user-zu3rw3cr1u 2 года назад
рассказ про ветки же
@andreypr503
@andreypr503 2 года назад
одна ветка на проект?
@vital708
@vital708 2 года назад
Доходчиво. Спасибо.
@yaroslavzef7267
@yaroslavzef7267 3 месяца назад
Здарово Серег. Спасибб
@user-gi9xk7jt1f
@user-gi9xk7jt1f 2 года назад
Спасибо! Все понятно!
@frontendscience
@frontendscience 2 года назад
Рад слышать 👍
@1mujer98amante5
@1mujer98amante5 2 года назад
👍👍👍 вообще огонь!
@SergeiKjtydghk
@SergeiKjtydghk Год назад
крутое объяснение, спасибо!
@Andrew-strong
@Andrew-strong 3 года назад
О! Годнота подъехала! Спасибо тебе! На позапрошлом месте работы, работая на одном проекте, у тимлида жёстко подгорало, когда он видел мерж-коммиты в моих мерж-реквестах., приходилось ребейсить. Но нас в команде было двое. Потом перевели на другой проект, где в одном репозитории были и фронт и бэк. Я по привычке сделал ребейс, запушил, а потом вместе с бэкендером, работающем с данной веткой пытались разобраться в получившейся каше. А вообще, как думаешь, хорошая практика - фронт и бэк в одном репозитории?
@astrotrain
@astrotrain 3 года назад
У меня проект, и фронт и бэк в одном репозитории, но файлы и папки разные, друг другу вообще не мешаем. Проект на битриксе, но битрикс используем просто как админку, фронт общается с бэком через апи.
@frontendscience
@frontendscience 3 года назад
ОООО..... это очень холиварный вопрос. Тут очень много зависит от самого проекта и еще от частоты обновления, важности синхронизации бакенда и фронтенда и др. Я лично за более микросервисную архитектуру и разделение ответсвенности. Но есть много проектов где такой подход не пройдет. Так что - как говорят it depends. PS: на последок рекомендую для общего развития поискать в интернете информацию про monorepo подход. Самый крупный монорепо в Мире например у Гугла - весь код всего лежит в одном репозитории.
@user-ll2xw7tn6v
@user-ll2xw7tn6v 2 года назад
1 проект - 1 репозиторий. Фронт это один проект. апи сервера это другие проектЫ. Т.е. репозиториев должно быть ни менее 2. Два апи+фронт = 3 репозитория.
@user-ll2xw7tn6v
@user-ll2xw7tn6v 2 года назад
@@olezhonnv3215 до поры до времени, пока 10 человек с разными целями не попытаются это всё смержить и куча конфликтов либо кривой автомрж всё не похерит. Уже проходили.
@Nightship
@Nightship 8 месяцев назад
мужик, спасибо!
@alexeypashchenko
@alexeypashchenko 3 года назад
💯✨💯✨Идеально объяснил
@frontendscience
@frontendscience 3 года назад
Рад, что было полезно)
@Das.Kleine.Krokodil
@Das.Kleine.Krokodil Год назад
Спасибо, полезно
@docshark11
@docshark11 Год назад
Супер объяснение! а можно такое же объяснение для - git squash?
@FootballRS7
@FootballRS7 Год назад
спасибо за объяснение
@amir18n
@amir18n 2 года назад
спасибо!
@user-ll2xw7tn6v
@user-ll2xw7tn6v 2 года назад
Всё-таки можно посмотреть в какие моменты "подобновляли" свою ветку. Нужно ребейз делать с флагом --committer-date-is-author-date Но это и не важно (дата обновления). Важна лишь последовательность и дата, когда данный коммит попал в общую ветку, т.е. повлиял на других.
@user-jl7vr6xy7g
@user-jl7vr6xy7g 10 месяцев назад
Самое ёмкое и понятное объяснение😍 Спасибо!
@zoomle_iOS
@zoomle_iOS 2 года назад
Гениально!
@razmus89dragovich20
@razmus89dragovich20 2 года назад
о, спасибо теперь понятно что и когда
@frontendscience
@frontendscience 2 года назад
Супер! Очень рад!
@zubescu
@zubescu 2 года назад
спасибо за понятное объяснение. подписался на канал
@frontendscience
@frontendscience 2 года назад
Рад, что было полезно!
@ssurrokk
@ssurrokk 2 года назад
респект, красавчик
@xoxo2880808
@xoxo2880808 2 года назад
Спасибо!
@sanya8158
@sanya8158 2 года назад
Спасибо огромное)
@frontendscience
@frontendscience 2 года назад
И Вам! )
@eakzit3181
@eakzit3181 3 года назад
Спс, за обьяснения. Я всегда боялся ребейза. Я толком даже и мердж не юзал - всегда писал git pull origin branch...Спс за обьяснение
@frontendscience
@frontendscience 3 года назад
Класс! Рад, что оказалось полезным!
@viktorzherekhin8590
@viktorzherekhin8590 8 месяцев назад
Добрый вечер! По моему, не было сказано, что при команде "git rebase master" (т.е. при вставке текущей feature-ветки в конец master-ветки), коммиты feature-ветки не будут видны в master-ветке (т.е. они как бы останутся изолированными). И чтобы их объединить надо выполнить команду (из master-ветки): "git merge feature".
@dmitriy9152
@dmitriy9152 2 года назад
Использовали и мерж и ребейз. Ребейз более опасная операция по сравнению с мержем, решили, что кто как хочет, тот так и делает в своей ветке. В сумме, не сильно мешает потом найти коммит с изменениями.
@user-dw4pi5gy7t
@user-dw4pi5gy7t 5 месяцев назад
Достойно лайка
@aliaksandrkisel2359
@aliaksandrkisel2359 2 года назад
спасибо, классно объяснили #git #merge #rebase
@MrEugen25
@MrEugen25 2 года назад
Наконец то я стал понимать о чем речь!
@frontendscience
@frontendscience 2 года назад
Рад что оказалось полезным!
@mikhailivlev
@mikhailivlev 2 года назад
используем ребейз прямо в мастер, не о чем не договариваемся с коллегами, даже если работаем вдвоем-троем-четвером над одной фичей в одних и тех же файлах, но бывает так, что синкаемся при конфликтах, но в целом все ОК)
@kenanhaciyev3759
@kenanhaciyev3759 Год назад
шикарно
@Developer_python_
@Developer_python_ Год назад
Great!
@ivanserdiukov5680
@ivanserdiukov5680 Год назад
top, super, like
@skynowa2626
@skynowa2626 2 года назад
Агонь! Где ты был раньше?
@frontendscience
@frontendscience 2 года назад
Рад, что понравилось! Благодарю за поддержку)
@veraburak8049
@veraburak8049 10 месяцев назад
лайк, подписался
@tangor268
@tangor268 Год назад
Использую всегда merge, в проектах несколько разрабов, поэтому безопасность превыше эстетики)
@mak_whisk
@mak_whisk 3 года назад
спасибо
@SlavaCh
@SlavaCh 2 года назад
Я использую такую синюю стрелочку, указывающую в левый нижний угол, в PhpStorm. Я хз, что именно она делает, но я получаю все последние обновления в ветке))
@HIghtowerSever
@HIghtowerSever 3 года назад
Я новичок и как раз задался этим вопросом. Ваш ответ очень доходчив, спасибо. Подписался. Я работал один в своей ветке, несколько раз уже делал рибэйз (git checkout dev / git pull / git checkout feature, / git rebase dev), но, с каждым новым таким рибэйзом мне прилетает все больше кофликтов, где надо вручную их разрешать, хотя мои коммиты не затрагивают файлы основной ветки dev. Техлид просто посоветовал делать merge и не использовать rebase.
@frontendscience
@frontendscience 3 года назад
Могу посоветовать один метод который поможет или вообще избавиться от конфликтов или их прийдется решить один раз. Перед тем как делать ребейз нужно сосквашть (склеить) все комиты в фичеветке.
@frontendscience
@frontendscience 3 года назад
Про то как склеить комиты расскажу в следующем видео
@HIghtowerSever
@HIghtowerSever 3 года назад
@@frontendscience ну давай до конца уж. Как команда выглядит?
@HIghtowerSever
@HIghtowerSever 3 года назад
@@frontendscience Интриган :)))
@frontendscience
@frontendscience 3 года назад
interactive rebase
@dzen1234
@dzen1234 Год назад
А ещё можно делать rebase при мерже мастера в фичу. Но потом при мерже фичи в мастер делать merge --no-ff. Получится и граф приличный и возможность простого выкашивания фичи из мастера, если с ней что-то не то, - останется.
@AHToHK
@AHToHK 2 года назад
Спасибо за объснения. А вообще есть возможность, используя merge (а на rebase), сделать pull request (например, на github), содержащий только свои изменения в истории?
@frontendscience
@frontendscience 2 года назад
Для создания пуллреквеста вообще не нужен ни мерж ни рибейз. Просто создается ветка от свежего мастера и туда делаются коммиты. А вот чтобы эту ветку слить с мастером когда будет заапрувлен pr, вот тогда обычно используется мерж.
@vladvoloshenko5701
@vladvoloshenko5701 Год назад
красивометр заставил меня ухмельнуться😄
@konstantinz5058
@konstantinz5058 Год назад
Круто! А можно ребейз откатить? Если при ребейзе неправильно решены конфликты
@VitMS1
@VitMS1 2 года назад
У нас на проекте аналогичный подход )
@hasst9261
@hasst9261 3 года назад
Полезно
Далее
GIT. Interactive Rebase. How to work with it?
17:02
Просмотров 41 тыс.
Sigma Girl Education #sigma #viral #comedy
00:16
Просмотров 1,6 млн
The most common mistakes with git. How to fix it?
16:35
GIT: Что такое Trunk Based Flow. Теория
10:39
Git MERGE vs REBASE: The Definitive Guide
9:39
Просмотров 53 тыс.
Git reset: difference between soft, mixed and hard
8:54
Git clone, push, pull, fetch. Основы git
8:25
Просмотров 42 тыс.