Menu
Coddy logo textTech

Git Checkout

Последнее обновление

git checkout - это классическая команда для перемещения по репозиторию: переключение веток, создание ветки через -b, переход на конкретный коммит или восстановление файла. Она делает очень много, поэтому в новых версиях Git её задачи были разделены на git switch (ветки) и git restore (файлы). Оба варианта по-прежнему работают.

Попробуйте эти команды в терминальном playground - настоящая оболочка в вашем браузере, ничего не нужно устанавливать.

git checkout переносит HEAD с одной ветки на другую и приводит рабочий каталог в соответствие.

Синтаксис

CommandWhat it does
git checkout mainПереключиться на существующую ветку
git checkout -b featureСоздать новую ветку и переключиться на неё
git checkout <hash>Перейти на конкретный коммит (отсоединённый HEAD)
git checkout -- file.txtОтменить изменения в файле (восстановить его)
git checkout main -- file.txtВосстановить один файл из другой ветки

checkout vs switch vs restore

TaskOld (checkout)Modern
Переключить веткуgit checkout maingit switch main
Создать + переключитьсяgit checkout -b xgit switch -c x
Отменить изменения в файлеgit checkout -- fgit restore f

Частые вопросы о git checkout

Что делает git checkout?
Она перемещает вас по репозиторию. Чаще всего она переключает ветки (git checkout main), но также может создать ветку (-b), перейти на конкретный коммит или восстановить файл до предыдущей версии. Поскольку она выполняет несколько разных задач, в современном Git появились git switch и git restore, чтобы их разделить.
В чём разница между git checkout и git switch?
git switch - более новая, узконаправленная команда, которая только переключает (а с -c создаёт) ветки - понятнее и её сложнее использовать неправильно. git checkout делает это плюс восстанавливает файлы и переходит на коммиты. Для работы с ветками git switch main и git checkout main эквивалентны; используйте то, что предпочитает ваша команда.
Как перейти на конкретный коммит?
Выполните git checkout <hash>. Это переводит вас в состояние "отсоединённого HEAD" - вы просматриваете этот коммит, но не находитесь ни на одной ветке. Чтобы сохранить работу оттуда, создайте ветку: git switch -c newbranch. Чтобы вернуться, снова перейдите на ветку с помощью git switch main.
Как отменить изменения в файле с помощью checkout?
Выполните git checkout -- file.txt, чтобы отменить незакоммиченные изменения в этом файле и восстановить последнюю закоммиченную версию. В современном Git более понятный эквивалент - git restore file.txt. Обе команды отменяют ваши правки, поэтому убедитесь, что они вам не нужны.
Можно ли попрактиковаться в этом онлайн?
Да. Откройте терминальный playground, чтобы выполнить git checkout в настоящей оболочке в вашем браузере - ничего не нужно устанавливать. Бесплатный интерактивный курс по Git от Coddy также пошагово охватывает создание веток и переключение между ними.
Coddy programming languages illustration

Изучайте Git с Coddy

НАЧАТЬ