git checkout
git checkout: переключиться на ветку или восстановить файлы в рабочем дереве (working tree).
На заметку: Эта команда постепенно выходит из моды. На смену ей пришли более узконаправленные git switch и git restore, которые появились в Git 2.23 (в августе 2019 года). Новые команды делают работу с Git логичнее и снижают риск случайно затереть данные.
Команда git checkout — это эдакий швейцарский нож. Она умеет переключать ветки, восстанавливать файлы и прыгать по конкретным коммитам. Но в новых версиях Git её суперсилы разделили на две отдельные команды: git switch и git restore. Это сделали, чтобы инструменты стали более чёткими и предсказуемыми.
Главная задача git checkout — переключаться между ветками или восстанавливать файлы до предыдущего состояния. Она позволяет легко прыгать между задачами, чтобы параллельно разрабатывать разные возможности или исправлять ошибки. А ещё она работает как страховка: если эксперимент зашёл не туда или закралась ошибка, изменения в файлах можно просто отменить.
- Загляни в этот забавный тред на StackOverflow, чтобы узнать ответ.
Примеры
Переключиться на существующую ветку:
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 для тебя — новый инструмент.
.gitignoregit checkoutgit configgit taggit worktree