diff --git a/PavelMartaller.md b/PavelMartaller.md
new file mode 100644
index 0000000..6f7ac88
--- /dev/null
+++ b/PavelMartaller.md
@@ -0,0 +1,67 @@
+# Шпаргалка Git (контроль версий)
+
+## Команды проверки версии и инициализации git
+
+* *git version* - проверяет наличие установки утилиты git и сообщает о её версии
+
+* *git init* - инициализирует git в данном каталоге для реализации версионности в нём, каталог превращается в репозиторий
+
+## Команды проверки состояния и журнал событий
+
+* *git status* - сообщает о состоянии (статусе) репозитория
+
+* *git log* - выводит журнал (лог) событий в репозитории
+
+* *git log --graph* - отображает журнал (лог) в графическом виде
+
+## Команды изменения
+
+### 1. версии (внутри одной ветки)
+
+* *git add .\file.ext* - готовит файл *file* с расширением *ext* для последующего сохранения в новую версию репозитория;
+
+ внимание: перед вызовом этой команды все изменения в файле должны быть предварительно сохранены (Ctrl + S); для выбора файла в репозитории воспользуйтесь Tab (табуляцией) после ключевого слова *add*
+
+
+* *git commit -m "message"* - сохраняет текущее состояние репозитория в новую версию с сообщением *message*, присваивая версии уникальный 40-символьный номер; при этом фиксируются данные пользователя и время создания версии
+
+* *git checkout value* - вызывает состояние репозитория по значению версии *value* (40-символьный номер); после ключевого слова *checkout* достаточно ввести первые 4 символа *value*;
+
+ внимание: указатель HEAD продолжения ветвления дерева версий переходит на данное состояние *value*
+
+### 2. дерева (работа с ветками)
+
+* *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* и предупреждение об ошибке в случае, если данная ветка не была слита или отправлена на удалённый
+
+ примечание: используйте -D для удаления ветки без предупреждений об ошибке
+
+## Команды работы с удалённым репозиторием
+
+* *git remote add remote_name url* - сообщение текущему локальному репозиторию адреса *url* удалённого репозитория, обращение к нему по указателю *remote_name*
+
+* *git branch -M main* - назначение имя *main* базовой (дефолтной) ветки
+
+* *git push -u remote_name main* - установление связи локального репозитория с удалённым репозиторием через указатель *remote_name*, и синхронизация данных в ветке *main* (дефолтная ветка, назначенная выше)
+
+внимание: при первом установлении связи с удалённым репозиторием git может запросить авторизацию для подтверждения прав доступа пользователя к удалённому репозиторию
+
+* *git pull* - "стягивание" данных удалённого репозитория в локальный репозиторий с одновременной процедурой сливания (merge)
+
+* *git push* - отправление данных локального репозитория на удалённый репозиторий
+
+### Прочие команды
+
+* *clear* - очищает поле терминала vs code (или cmd); никаких изменений в репозитории не происходит
+
+* *q* - возвращает указатель ввода команд git в терминале vs code (или cmd) в случае его потери, например, в случае, когда журнал событий (log) при вызове не умещается целиком в поле терминала
+
+> при необходимости содержание шпаргалки может быть дополнено
\ No newline at end of file