Channel Web Overflow 🇺🇦 - @web_overflow - №1482
*Десятки команд в Git просто існують*Тим часом на співбесідах питають тільки різницю між git merge та git rebase.Тому let's go розбиратись.Обидві команди використовуються для того, щоб злити дві гілки докупи. Але в них є одна велика різниця.Уявіть, що у вас є гілка main і є ваша локальна гілка feature/1, де ви працюєте над якимсь новим функціоналом. Ви вже створили кілька комітів і хочете отримати останні зміни з головної гілки main (в якій тим часом також з'явились нові коміти).git mergeЯкщо ви виконуєте команду git merge, то створюється новий merge commit, який об'єднує дві гілки. В історії буде видно, як вони розвивалися окремо, а потім злилися в один потік (на першій картинці merge commit С6). З плюсів такого підходу - зберігається повна картина розвитку проєкту, але водночас вона виглядає більш заплутаною.git rebaseЯкщо ви викликаєте команду git rebase, то git перепише коміти вашої гілки так, ніби вони були зроблені після актуального стану main. На другій картинці після коміту C3 я викликала git rebase і отримала лінійну структуру. Перевага цього підходу в тому, що історія виглядає простою і послідовною, без зайвих merge-комітів. Але варто пам’ятати, що змінюються хеші комітів, і це може заплутати команду.📌 Коротко:- merge з’єднує історії як є;- rebase "переписує" історію так, ніби все робилося послідовно.А щоб розібратись, як працюють основні команди Git, вже вкотре рекомендуємо LearnGitBranching. Друзі, це СКАРБ! #interview
5720
25-08-19 12:36