PassFront
  1. PassFront
  2. База знаний
  3. Ветки

Сравни способы переключения на другую ветку в Git и объясни, когда выбирать каждый вариант.

Ветки

Переключиться на другую ветку можно командами git switch и git checkout.

git switch — современный способ

git switch feature            # перейти на существующую ветку
git switch -c feature/new     # создать и перейти
git switch -                  # вернуться на предыдущую

Команда делает только одно — переключает ветки, поэтому её сложнее использовать неправильно.

git checkout — старый универсальный способ

git checkout feature
git checkout -b feature/new

checkout умеет и переключать ветки, и восстанавливать файлы (git checkout -- file), из-за чего его легко спутать. С Git 2.23 эти задачи разделены на switch и restore.

Если есть незакоммиченные изменения

Git не даст переключиться, если изменения конфликтуют с целевой веткой. Варианты: закоммитить, git stash или git worktree для работы в двух ветках одновременно.

Коротко для собеседования

Сейчас используют git switch (и switch -c для новой ветки); checkout — старый вариант, который делает и это, и восстановление файлов.

Подробнее: Git — git switch

Другие вопросы раздела