Запропонувати правкуПокращити цю статтюДопрацюйте відповідь до «Що таке конфлікт при merge?». Ваші зміни проходять модерацію перед публікацією.Потрібне підтвердженняКонтентЩо ви змінюєте🇺🇸EN🇺🇦UAПереглядЗаголовок (UA)Коротка відповідь (UA)**Конфлікт при `git merge`** - це ситуація, коли Git не може автоматично об'єднати зміни, тому що в двох гілках змінені одні й ті самі частини коду. **Ключове:** конфлікт - це не помилка, а свідома зупинка Git, щоб людина вручну вирішила, яку версію коду залишити.Показується над повною відповіддю для швидкого нагадування.Відповідь (UA)Зображення**Конфлікт при** `git merge` - це ситуація, коли Git **не може автоматично об'єднати зміни**, тому що **в двох гілках змінені одні й ті самі частини коду**. Кажучи просто: *Git не розуміє, яку версію обрати, і просить людину вирішити це вручну.* --- ## Коли виникає конфлікт Конфлікт з'являється, якщо: - у **двох гілках** - були змінені **одні й ті самі рядки файлу** - **після спільного коміту-предка** Приклад: - у гілці `main` рядок змінено на `A` - у гілці `feature` цей самий рядок змінено на `B` Git не може здогадатися, що правильно. --- ## Що відбувається при конфлікті Коли ти виконуєш: ```bash git merge feature ``` Git: 1. зупиняє merge 2. позначає файли як **conflicted** 3. показує повідомлення про конфлікт --- ## Як виглядає конфлікт у файлі У конфліктному файлі ти побачиш щось на кшталт: ```text <<<<<<< HEAD console.log("Hello from main"); ======= console.log("Hello from feature"); >>>>>>> feature ``` - `HEAD` - поточна гілка - нижче `=======` - зміни з іншої гілки --- ## Що потрібно зробити 1. Відкрити файл 2. Обрати правильний варіант або об'єднати обидва 3. Видалити конфліктні маркери (`<<<<<<<`, `=======`, `>>>>>>>`) 4. Зберегти файл 5. Додати файл до індексу: ```bash git add file.js ``` 6. Завершити merge: ```bash git commit ``` --- ## Важливо розуміти - конфлікт - **це не помилка** - Git спеціально **зупиняється**, щоб ти не втратив дані - без ручного вирішення merge не завершиться --- ## Часте питання на співбесіді **Чи можна уникнути конфліктів?** Повністю - ні. Але можна: - частіше підтягувати `main` - робити маленькі коміти - не працювати довго в відриві від основної гілки --- ## Коротка відповідь для співбесіди > **Конфлікт при merge виникає, коли Git не може автоматично об'єднати зміни з різних гілок, тому що вони зачіпають одні й ті самі частини коду, і вимагає ручного втручання.**Для рев’юераПримітка для модератора (необов’язково)Бачить лише модератор. Прискорює рев’ю.