Команды Git

git checkout

git checkout: переключиться на ветку или восстановить файлы в рабочем дереве (working tree).

На заметку: Эта команда постепенно выходит из моды. На смену ей пришли более узконаправленные git switch и git restore, которые появились в Git 2.23 (в августе 2019 года). Новые команды делают работу с Git логичнее и снижают риск случайно затереть данные.

Команда git checkout — это эдакий швейцарский нож. Она умеет переключать ветки, восстанавливать файлы и прыгать по конкретным коммитам. Но в новых версиях Git её суперсилы разделили на две отдельные команды: git switch и git restore. Это сделали, чтобы инструменты стали более чёткими и предсказуемыми.

Главная задача git checkout — переключаться между ветками или восстанавливать файлы до предыдущего состояния. Она позволяет легко прыгать между задачами, чтобы параллельно разрабатывать разные возможности или исправлять ошибки. А ещё она работает как страховка: если эксперимент зашёл не туда или закралась ошибка, изменения в файлах можно просто отменить.

Почему команда называется checkout?

Примеры

Переключиться на существующую ветку:

git checkout feature-branch

Создать новую ветку и сразу же на неё переключиться:

git checkout -b new-feature

Восстановить файл до состояния последнего коммита. Обрати внимание на флаг -- — он сообщает Git, что дальше идут пути к файлам. Это нужно, чтобы Git случайно не принял название файла за ветку или коммит:

git checkout -- path/to/file.js

Переключиться на конкретный коммит (переход в состояние «оторванного» HEAD, то есть вне какой-либо ветки):

git checkout 1a2b3c4d

И всё же, в версиях Git 2.23+ лучше использовать git switch для переключения веток и git restore для восстановления файлов. Такое разделение обязанностей делает команды интуитивнее и спасает от досадных ошибок.

Переключиться на существующую ветку (в Git 2.23+):

git switch feature-branch

Создать новую ветку и переключиться на неё (в Git 2.23+):

git switch -c new-feature

Восстановить файл до состояния последнего коммита (в Git 2.23+):

git restore path/to/file.js

Итого: хотя git checkout всё ещё отлично работает и часто используется, лучше привыкать к git switch и git restore. Они делают действия более чёткими и предсказуемыми. Это здорово помогает избежать путаницы и ошибок, особенно если Git для тебя — новый инструмент.