Files
GeekBrainsHomeWork/PavelMartaller.md
T
2022-02-21 17:37:35 +06:00

67 lines
5.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Шпаргалка Git (контроль версий)
## Команды проверки версии и инициализации git
* *git version* - проверяет наличие установки утилиты git и сообщает о её версии
* *git init* - инициализирует git в данном каталоге для реализации версионности в нём, каталог превращается в репозиторий
## Команды проверки состояния и журнал событий
* *git status* - сообщает о состоянии (статусе) репозитория
* *git log* - выводит журнал (лог) событий в репозитории
* *git log --graph* - отображает журнал (лог) в графическом виде
## Команды изменения
### 1. <u>версии (внутри одной ветки)</u>
* *git add .\file.ext* - готовит файл *file* с расширением *ext* для последующего сохранения в новую версию репозитория;
<u>внимание</u>: перед вызовом этой команды все изменения в файле должны быть предварительно сохранены (Ctrl + S); для выбора файла в репозитории воспользуйтесь Tab (табуляцией) после ключевого слова *add*
* *git commit -m "message"* - сохраняет текущее состояние репозитория в новую версию с сообщением *message*, присваивая версии уникальный 40-символьный номер; при этом фиксируются данные пользователя и время создания версии
* *git checkout value* - вызывает состояние репозитория по значению версии *value* (40-символьный номер); после ключевого слова *checkout* достаточно ввести первые 4 символа *value*;
<u>внимание</u>: указатель HEAD продолжения ветвления дерева версий переходит на данное состояние *value*
### 2. <u>дерева (работа с ветками)</u>
* *git branch* - просмотр всех созданных веток дерева с указателем на текущую ветку
* *git branch branch_name* - создание новой ветки с именем *branch_name*
* *git checkout branch_name* - переход на ветку с именем *branch_name*
* *git checkout master* - переход на базовую ветку master
* *git merge branch_name* - слияние данных ветки с именем *branch_name* с текущей веткой с возможность обработки конфликтов
* *git branch -d branch_name* - удаление ветки с именем *branch_name* и предупреждение об ошибке в случае, если данная ветка не была слита или отправлена на удалённый
<u>примечание</u>: используйте -D для удаления ветки без предупреждений об ошибке
## Команды работы с удалённым репозиторием
* *git remote add remote_name url* - сообщение текущему локальному репозиторию адреса *url* удалённого репозитория, обращение к нему по указателю *remote_name*
* *git branch -M main* - назначение имя *main* базовой (дефолтной) ветки
* *git push -u remote_name main* - установление связи локального репозитория с удалённым репозиторием через указатель *remote_name*, и синхронизация данных в ветке *main* (дефолтная ветка, назначенная выше)
<u>внимание</u>: при первом установлении связи с удалённым репозиторием git может запросить авторизацию для подтверждения прав доступа пользователя к удалённому репозиторию
* *git pull* - "стягивание" данных удалённого репозитория в локальный репозиторий с одновременной процедурой сливания (merge)
* *git push* - отправление данных локального репозитория на удалённый репозиторий
### Прочие команды
* *clear* - очищает поле терминала vs code (или cmd); никаких изменений в репозитории не происходит
* *q* - возвращает указатель ввода команд git в терминале vs code (или cmd) в случае его потери, например, в случае, когда журнал событий (log) при вызове не умещается целиком в поле терминала
> при необходимости содержание шпаргалки может быть дополнено