Тур по Git
Ветвление и слияние / Урок 2.3

git checkout -- Переключение веток

Команда git checkout переключает между ветками (или коммитами). При переключении веток Git обновляет ваш рабочий каталог, чтобы он соответствовал последнему коммиту ветки.

Переключение веток

git checkout feature

Это перемещает HEAD на ветку feature и обновляет ваши файлы.

Создание + переключение в одно действие

git checkout -b new-feature

Это сокращение, которое создаёт новую ветку и сразу переключается на неё. Это самый распространённый способ начать работу над чем-то новым.

Современная альтернатива: git switch

В Git 2.23 появилась команда git switch как более понятная альтернатива:

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

Обе команды checkout и switch работают -- используйте ту, которая вам больше нравится.

Попробуйте!

В вашем репозитории есть один коммит в main. Отработайте полный рабочий процесс с ветками:

  1. Создайте и переключитесь на новую ветку: git checkout -b feature
  2. Создайте файл и сделайте коммит: echo "feature work" > feature.txt, затем git add feature.txt, затем git commit -m "Add feature"
  3. Вернитесь на main: git checkout main
  4. Обратите внимание, что feature.txt исчез -- он существует только в ветке feature!

Наблюдайте, как граф обновляется при создании коммитов в разных ветках.

Отделённый HEAD

Если вы переключаетесь на конкретный коммит (а не на ветку), вы попадаете в состояние отделённого HEAD:

git checkout abc1234

В этом состоянии новые коммиты не будут принадлежать ни одной ветке. Это полезно для просмотра старого кода, но не делайте коммиты в этом состоянии, если не знаете, что делаете.

🎯

Цель

Создайте ветку 'feature', переключитесь на неё, сделайте коммит, затем вернитесь на main

Terminal
$

No commits yet. Run `git init` and create your first commit.