Модуль 7 · Урок 26
Branches, merge і conflicts
Branch — movable pointer на commit, не копія всього проєкту. Topic branch із чистим scope дозволяє перевірити graph і diff до інтеграції. Conflict — не команда «обрати ours/theirs», а вимога зрозуміти обидва intent і створити один коректний результат.
Branch workflow
git status
git switch main
git switch -c feat/reading-status
# edit, verify, add, commit
git log --graph --oneline --decorate --all
git switch main
git merge feat/reading-statusswitch -c створює pointer від поточного commit і перемикає HEAD. Fast-forward лише пересуває base pointer, якщо divergence немає; true merge знаходить common ancestor і поєднує дві histories.
Conflict resolution як контрольований процес
git add PATH позначає resolved version.Якщо merge треба почати заново, спершу перевірте local changes, потім git merge --abort. Не використовуйте reset --hard як універсальну кнопку: він може знищити незбережену роботу.
Практика
Використайте base/ours/theirs у lab, поясніть різницю intent і запишіть resolved behavior. Acceptance: немає markers, status не має unmerged paths, checks пройдені, graph і commit message пояснюють інтеграцію.
Офіційні джерела
Закріпіть матеріал уроку
Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.