Конфлікти під час мерджу: чому виникають і що робити
Чому дві гілки можуть зіткнутися на тому самому рядку, що тоді показує GitHub, як читати маркери конфлікту й розв'язати простий конфлікт у браузері і чому вибір правильного тексту це продуктове рішення.
Урок 6 з 15~34 хв навчанняЗ них ~19 хв на запитання та завдання
Зміст1 із 67 кроків
Ви
Alex Tutor
main, живий сайт і робота Emma лишаються такими, як були. Pull request просто чекає, доки хтось ухвалить рішення.Alex Tutor
Rewrite delivery page copy#132
This branch has conflicts that must be resolved: мердж заблоковано. Конфліктний файл: pages/delivery.md
Raise free-delivery threshold to 1000 UAH#133
Змерджено вчора як коміт 6f2c8a1
Ви
Daniel
Alex Tutor
Питання 1
Pull request #132 показує «This branch has conflicts that must be resolved». Це означає, що сторінка доставки на живому сайті зараз зламана.
- Open
Rewrite delivery page copy#132
This branch has conflicts that must be resolved
Alex Tutor
Alex Tutor
e7c3b19Add summer promo bannerf02a6d4Update FAQ answerse19c3b7Rewrite delivery page copycontent/delivery-copy8be2f70Add cat treats bundle6f2c8a1Raise free-delivery threshold to 1000 UAH (#133)main
Граф комітів, від найстарішого: content/delivery-copy і main сьогодні 1. коміт e7c3b19 у main "Add summer promo banner" 2. гілка content/delivery-copy починається від коміту e7c3b19 3. коміт f02a6d4 у main "Update FAQ answers" 4. коміт e19c3b7 у content/delivery-copy "Rewrite delivery page copy" (виділено) 5. коміт 8be2f70 у main "Add cat treats bundle" 6. коміт 6f2c8a1 у main "Raise free-delivery threshold to 1000 UAH (#133)" (виділено)
Alex Tutor
Ви
Daniel
Alex Tutor
Alex Tutor
Питання 2
Відколи гілка Emma відділилася від main, обидві сторони щось змінили. У яких випадках GitHub повідомить про конфлікт? Познач усе, що підходить.
Alex Tutor
Resolve conflicts («розв'язати конфлікти»). Вона відкриває простий редактор просто на GitHub, уже з конфліктним файлом.Ви
Alex Tutor
<<<<<<< відкриває конфлікт і називає гілку, з якої прийшла верхня версія. ======= розділяє дві версії. >>>>>>> закриває конфлікт і називає другу гілку.Daniel
git merge у терміналі. Ті самі стрілки, інше вікно.Ви
Alex Tutor
Питання 3
Зістав кожну частину конфлікту в pages/delivery.md з тим, що вона означає.
Торкніться відповіді, а потім рядка, до якого вона належить. Можна й перетягувати.
<<<<<<< content/delivery-copy=======>>>>>>> main- Рядки поза маркерами
Відповіді, які ще треба розмістити
Ви
Alex Tutor
Ви
Alex Tutor
Daniel
Alex Tutor
Alex Tutor
Питання 4
Конфлікт у pages/delivery.md:
<<<<<<< content/delivery-copy
Orders from 800 UAH ship free, right to your door.
=======
Free delivery on orders from 1000 UAH.
>>>>>>> main
Поріг підняли до 1000 грн у #133 на прохання фінвідділу, а маркетинг погодив нове формулювання Emma. Чим треба замінити весь блок разом із маркерами?
Alex Tutor
Daniel
=======, і тоді він з'явиться на живій сторінці. Я таке бачив. В інших людей, звісно.Alex Tutor
Mark as resolved («позначити як розв'язане») повідомляє GitHub, що з цим файлом усе вирішено. Якщо конфліктних файлів кілька, наступний вибирають у списку ліворуч і повторюють те саме.Ви
Commit merge («закомітити мердж»).Alex Tutor
Files changed («змінені файли») у pull request має показувати лише переписаний текст Emma: у рядку 12 стоїть 1000, і жодного сліду 800.Alex Tutor
Питання 5
Розташуй по порядку кроки, щоб розв'язати конфлікт у #132 на GitHub.
Торкніться пункту, а потім місця, куди його поставити. Можна перетягувати або користуватися стрілками.
Ви
Commit merge? І куди?Alex Tutor
main. GitHub зливає main у content/delivery-copy, і твоє рішення всередині. Станом на 2026 рік його повідомлення таке: «Merge branch 'main' into content/delivery-copy».Alex Tutor
e7c3b19Add summer promo bannerf02a6d4Update FAQ answerse19c3b7Rewrite delivery page copy8be2f70Add cat treats bundle6f2c8a1Raise free-delivery threshold to 1000 UAH (#133)mainc90d4e7Merge branch 'main' into content/delivery-copycontent/delivery-copy
Граф комітів, від найстарішого: Після Commit merge 1. коміт e7c3b19 у main "Add summer promo banner" 2. гілка content/delivery-copy починається від коміту e7c3b19 3. коміт f02a6d4 у main "Update FAQ answers" 4. коміт e19c3b7 у content/delivery-copy "Rewrite delivery page copy" 5. коміт 8be2f70 у main "Add cat treats bundle" 6. коміт 6f2c8a1 у main "Raise free-delivery threshold to 1000 UAH (#133)" 7. мердж-коміт c90d4e7: main змерджено в content/delivery-copy "Merge branch 'main' into content/delivery-copy" (виділено)
Ви
Daniel
main не потрапить: main отримає один чистий коміт для #132.Alex Tutor
Alex Tutor
Питання 6
Хтось розв'язав конфлікт у pull request #145 у редакторі GitHub. Про що говорить виділений коміт b2?
a1Add about pageb1Rewrite our story sectiona2Update team photos (#141)mainb2Merge branch 'main' into content/about-pagecontent/about-page
Граф комітів, від найстарішого: Pull request #145 після розв'язання конфлікту на GitHub 1. коміт a1 у main "Add about page" 2. гілка content/about-page починається від коміту a1 3. коміт b1 у content/about-page "Rewrite our story section" 4. коміт a2 у main "Update team photos (#141)" 5. мердж-коміт b2: main змерджено в content/about-page "Merge branch 'main' into content/about-page" (виділено)
Alex Tutor
Resolve conflicts і пише, що конфлікт надто складний для вебредактора.Daniel
Alex Tutor
Ви
Files changed.Alex Tutor
Alex Tutor
Питання 7
Конфлікт у тексті блокує pull request для сторінки, за яку ти відповідаєш. Що з цього входить у роботу продакта? Познач усе, що підходить.
Alex Tutor
main тим часом пішла вперед без неї.Ви
Daniel
main у неї під ногами.Alex Tutor
main, поки конфлікти ще дрібні.Ви
Alex Tutor
Питання 8
Який із цих pull requests найімовірніше натрапить на конфлікт?
Fix typo on returns page#151
1 коміт · 1 файл · відкрито вчора · 0 behind від main
Add Halloween banner#152
2 коміти · 2 файли · 3 дні · 1 behind від main
Update courier phone number#153
1 коміт · 1 файл · 2 дні · 2 behind від main
Redesign all product pages#148
23 коміти · 38 файлів · 6 тижнів · 41 behind від main
Alex Tutor
Daniel
Ви
Alex Tutor
Питання 9Коротка відповідь · Завдання з перевіркою ШІ
Завтра Daniel робитиме рев'ю pull request #132. Рядок 12 у pages/delivery.md тепер такий: «Orders from 1000 UAH ship free, right to your door.» Він не збігається ні з версією Daniel, ні з початковою версією Emma. Напиши коментар до #132 на два-три речення: що в цьому рядку після розв'язання конфлікту і чому.
Напишіть відповідь і отримайте оцінку та відгук від нашого ШІ-рецензента.
Увійдіть, щоб отримати відгук ШІВи
Daniel
Alex Tutor
На цьому все. Ви відповіли на всі завдання — чудова робота.