Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що таке git merge?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)`git merge` - це команда, яка об'єднує зміни з однієї гілки в іншу, зберігаючи історію обох гілок. **Ключове:** git merge не переписує коміти і вважається безпечним способом об'єднання гілок для спільної роботи.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення`git merge` - це команда, яка **об'єднує зміни з однієї гілки в іншу**, зберігаючи історію обох гілок. Простими словами: *«Візьми все, що було зроблено в іншій гілці, і додай це до поточної»*. --- ## Навіщо потрібен `git merge` У Git зазвичай працюють з гілками: - `main` / `master` - основна гілка - `feature/*` - гілки для нових фіч - `bugfix/*` - гілки для виправлень Ти працюєш в окремій гілці, а коли все готово - **зливаєш її назад** в основну. Саме для цього і потрібен `git merge`. --- ## Як працює `git merge` Приклад: 1. Ти перебуваєш у гілці `main` 2. Хочеш влити зміни з гілки `feature-login` ```bash git checkout main git merge feature-login ``` Результат: - Усі коміти з `feature-login` **з'являються в** `main` - Історія гілок **зберігається** --- ## Що відбувається «під капотом» Git: 1. Знаходить **спільний коміт-предок** двох гілок 2. Порівнює зміни 3. Об'єднує їх 4. Створює **merge-коміт** (якщо потрібно) --- ## Види merge ### 1. Fast-forward merge (швидкий merge) Якщо в `main` **не було нових комітів**, Git просто пересуває вказівник: ``` A---B---C (main) \ D---E (feature) ``` Після merge: ``` A---B---C---D---E (main) ``` Без зайвих комітів Чиста історія --- ### 2. Merge commit (звичайний merge) Якщо обидві гілки розвивалися паралельно: ``` A---B---C---F (main) \ D---E (feature) ``` Git створює **окремий merge-коміт**: ``` A---B---C---F---M (main) \ / D---E--- ``` Видно, **що була окрема гілка** Історія максимально чесна --- ## Конфлікти при merge Якщо зміни зачіпають **одні й ті самі рядки**, Git не знає, що вибрати. Тоді: - Git повідомляє про конфлікт - Ти вручну обираєш правильний варіант - Після цього робиш `git commit` Конфлікти - це нормально, на співбесідах це підкреслюють. --- ## Плюси `git merge` Простий у використанні Безпечний Не переписує історію Добре підходить для командної роботи --- ## Мінуси Історія може стати «шумною» (багато merge-комітів) --- ## Коротко для співбесіди > `git merge` **- це команда для об'єднання гілок, яка зберігає історію і за потреби створює merge-коміт. Вона не переписує коміти і вважається безпечною для спільної роботи.**Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.