tgoop.com/web_overflow/1482
Last Update:
*Десятки команд в 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
BY Web Overflow 🇺🇦
Share with your friend now:
tgoop.com/web_overflow/1482