Frontend Academy · Урок

Ветвление: branch, checkout и merge

Создавайте функциональные ветки, переключайтесь между ними, объединяйте ветки с main и разрешайте простые конфликты слияния.

Урок 2 из 413 шагов

«Ветвление: branch, checkout и merge» — бесплатный урок Frontend Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Frontend Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Frontend Academy содержит 4 уроков всего.

Зачем нужны ветки?

Ветки позволяют разрабатывать несколько функций и исправлений ошибок параллельно, не мешая друг другу. Основная (или главная) ветка остаётся стабильной, а незавершённая работа ведётся в ветках функций.

Просмотр и создание веток

git branch показывает список веток. git branch name создаёт новую ветку. Новая ветка начинается с текущего коммита.

git branch             # list all branches
git branch feature/auth # create a new branch
git branch -d feature/auth # delete merged branch

Переключение между ветками

git checkout branchname переключает на существующую ветку. git checkout -b branchname создаёт ветку и переключает на неё за один шаг. Современный эквивалент: git switch.

git checkout main           # switch to main
git checkout feature/auth   # switch to existing branch
git checkout -b hotfix/nav  # create + switch

# Modern (git 2.23+):
git switch main
git switch -c feature/auth

Типичный рабочий процесс с ветками

1) Переключитесь на основную ветку. 2) Получите последние изменения. 3) Создайте ветку для функции. 4) Создайте коммиты. 5) Объедините изменения с основной веткой. 6) Удалите ветку функции.

git switch main
git pull
git switch -c feature/dark-mode
# ... make commits ...
git switch main
git merge feature/dark-mode
git branch -d feature/dark-mode

Слияние веток

git merge branchname вносит изменения из указанной ветки в текущую ветку. Git пытается выполнить слияние автоматически. Слияние перемоткой вперёд выполняется, когда история не имеет разветвлений.

git switch main
git merge feature/auth
# Fast-forward: no merge commit if history is linear

Коммиты слияния

Когда обе ветки расходятся, Git создаёт коммит слияния с двумя родительскими коммитами. Это сохраняет полную историю обоих направлений разработки.

Конфликты слияния

Если один и тот же файл был изменён в обеих ветках, Git не может выполнить автоматическое слияние и помечает конфликт. Отредактируйте файл, чтобы устранить конфликт, а затем создайте коммит.

<<<<<<< HEAD
const COLOR = 'blue';
=======
const COLOR = 'red';
>>>>>>> feature/theming

// After resolving:
const COLOR = 'navy'; // your decision

git add styles.css
git commit

git rebase — Линейная история

git rebase main переносит коммиты вашей ветки поверх последней версии основной ветки, создавая линейную историю без коммитов слияния. Используйте эту команду для веток функций перед слиянием; не применяйте перенос к общим веткам.

git switch feature/auth
git rebase main  # replay commits on top of current main

HEAD — Где вы находитесь

HEAD — это указатель на вершину текущей ветки (или на конкретный коммит в состоянии отделённого HEAD). git log показывает положение HEAD. HEAD~1 — предыдущий коммит, а HEAD~3 — коммит тремя позициями ранее.

Сохранение незавершённой работы

git stash сохраняет незакоммиченные изменения и возвращает рабочее дерево в чистое состояние. Используйте эту команду, когда нужно переключиться на другую ветку, не создавая коммит для незавершённой работы. git stash pop восстанавливает изменения.

git stash           # save WIP
git switch hotfix/urgent
# ... fix and commit ...
git switch feature/auth
git stash pop       # restore WIP

Соглашения об именовании веток

Распространённые шаблоны: feature/feature-name, fix/bug-description, hotfix/critical-fix, chore/dependency-update. Единообразное именование делает список веток понятным.

Быстрая проверка

Какая команда создаёт новую ветку и одновременно переключается на неё?

Итоги: ветвление в Git

git branch создаёт ветки. git checkout/switch обеспечивает навигацию. git merge объединяет изменения. Устраняйте конфликты, редактируя блоки с маркерами. git stash сохраняет WIP. Используйте git rebase для линейной истории. Применяйте ветки функций для всей новой работы и поддерживайте основную ветку стабильной. Удаляйте объединённые ветки, чтобы список оставался чистым.

Можно начать бесплатно

Изучай HTML с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
41
Уроки
163

Часто задаваемые вопросы

Урок «Ветвление: branch, checkout и merge» бесплатный?

Да — полный текст урока «Ветвление: branch, checkout и merge» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Frontend Academy, подпишись на CoddyKit PRO. Курс Frontend Academy содержит 4 уроков всего.

Чему я научусь в уроке «Ветвление: branch, checkout и merge»?

Создавайте функциональные ветки, переключайтесь между ними, объединяйте ветки с main и разрешайте простые конфликты слияния. Ты практикуешь Frontend Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать Frontend Academy?

Предыдущий опыт не требуется. Frontend Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Ветвление: branch, checkout и merge»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке Frontend Academy?

Да. Каждый урок Frontend Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. git init, add, commit и status
  2. Ветвление: branch, checkout и merge
  3. Удалённые репозитории: push, pull и clone
  4. Рабочий процесс pull request на GitHub
← Назад к Frontend Academy