73 lines
3.9 KiB
Markdown
73 lines
3.9 KiB
Markdown
|
---
|
|||
|
title: Git Checkout
|
|||
|
localeTitle: Git Checkout
|
|||
|
---
|
|||
|
## Git Checkout
|
|||
|
|
|||
|
Команда `git checkout` переключается между ветвями или восстанавливает рабочие деревовые файлы. Для этой команды существует несколько различных вариантов, которые здесь не рассматриваются, но вы можете посмотреть их все в [документации Git](https://git-scm.com/docs/git-checkout) .
|
|||
|
|
|||
|
### Оформить определенную фиксацию
|
|||
|
|
|||
|
для проверки конкретной фиксации выполните команду:
|
|||
|
|
|||
|
```shell
|
|||
|
git checkout specific-commit-id
|
|||
|
```
|
|||
|
|
|||
|
мы можем получить конкретный идентификатор фиксации, выполнив:
|
|||
|
|
|||
|
```shell
|
|||
|
git log
|
|||
|
```
|
|||
|
|
|||
|
### Оформить покупку существующего филиала
|
|||
|
|
|||
|
Чтобы проверить существующую ветку, выполните команду:
|
|||
|
|
|||
|
```shell
|
|||
|
git checkout BRANCH-NAME
|
|||
|
```
|
|||
|
|
|||
|
Как правило, Git не позволит вам проверять другую ветку, если ваш рабочий каталог не является чистым, потому что вы потеряете любые изменения рабочего каталога, которые не были выполнены. У вас есть три варианта обработки ваших изменений: 1) уничтожить их, 2) [зафиксировать их](https://guide.freecodecamp.org/git/git-commit/) или 3) [спрятать их](https://guide.freecodecamp.org/git/git-stash/) .
|
|||
|
|
|||
|
### Оформить заказ
|
|||
|
|
|||
|
Чтобы создать и проверить новую ветвь с помощью одной команды, вы можете использовать:
|
|||
|
|
|||
|
```shell
|
|||
|
git checkout -b NEW-BRANCH-NAME
|
|||
|
```
|
|||
|
|
|||
|
Это автоматически переключит вас на новую ветку.
|
|||
|
|
|||
|
### Оформить новую ветку или Сбросить ветвь в начальную точку
|
|||
|
|
|||
|
Следующая команда похожа на проверку новой ветви, но использует флаг `-B` (отметить флаг capital B) и необязательный параметр `START-POINT` :
|
|||
|
|
|||
|
```shell
|
|||
|
git checkout -B BRANCH-NAME START-POINT
|
|||
|
```
|
|||
|
|
|||
|
Если ветвь `BRANCH-NAME` не существует, Git создаст ее и запустит ее в `START-POINT` . Если ветвь `BRANCH-NAME` уже существует, Git сбрасывает ветвь до `START-POINT` . Это эквивалентно запуску `git branch` с `-f` .
|
|||
|
|
|||
|
### Принудительная проверка
|
|||
|
|
|||
|
Вы можете передать параметр `-f` или `--force` командой `git checkout` чтобы заставить Git переключать ветви, даже если у вас есть неустановленные изменения (другими словами, индекс рабочего дерева отличается от `HEAD` ). В принципе, его можно использовать для выброса локальных изменений.
|
|||
|
|
|||
|
Когда вы запускаете следующую команду, Git будет игнорировать несмешанные записи:
|
|||
|
|
|||
|
```shell
|
|||
|
git checkout -f BRANCH-NAME
|
|||
|
|
|||
|
# Alternative
|
|||
|
git checkout --force BRANCH-NAME
|
|||
|
```
|
|||
|
|
|||
|
### Отменить изменения в рабочем каталоге
|
|||
|
|
|||
|
Вы можете использовать команду `git checkout` чтобы отменить изменения, внесенные вами в файл в вашем рабочем каталоге. Это вернет файл обратно в версию в `HEAD` :
|
|||
|
|
|||
|
```shell
|
|||
|
git checkout -- FILE-NAME
|
|||
|
|
|||
|
```
|