Конфлікти злиття
Свайпніть щоб показати меню
Розуміння конфліктів злиття
Конфлікт злиття виникає, коли Git не може автоматично узгодити зміни, внесені у двох різних гілках. Це зазвичай трапляється, коли зміни були внесені в одні й ті самі рядки коду в одних і тих самих файлах обох гілок після їх останнього спільного предка.
Приклад робочого процесу
Спочатку перелік усіх гілок у репозиторії:
git branch
Ви зараз перебуваєте на гілці master, тому змініть файл branch_learning.txt, додавши новий рядок, і відразу зафіксуйте цю зміну:
echo "New line from the master branch" >> branch_learning.txt
git commit -a -m "Add a new line specifying the master branch to branch_learning.txt"
Тепер переключіться на гілку feature, додайте інший новий рядок до файлу branch_learning.txt і відразу зафіксуйте цю зміну:
git checkout feature/new-feature
echo "New line from the feature branch" >> branch_learning.txt
git commit -a -m "Add a new line specifying the feature branch to branch_learning.txt"
Обидва коміти виконані успішно, тому поверніться на гілку master і злийте з нею гілку feature:
git checkout master
git merge feature/new-feature
Виник конфлікт злиття, оскільки одна й та сама рядок у файлі відрізняється між гілками, і Git не може автоматично його вирішити.
Також виконаємо команду git status, щоб отримати більше інформації про конфлікт:
git status
Це повідомлення вказує, що потрібно або скасувати злиття, або виправити конфлікти й після цього зафіксувати зміни. Далі буде обрано другий варіант — вирішення конфліктів у наступному розділі.
Дякуємо за ваш відгук!
Запитати АІ
Запитати АІ
Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат