Я уже установил и настроил рабочее окружение. Установил редактор кода и необходимые плагины к нетму. Однако перед началом работы с проектом хотелось бы иметь возможность сохранять бекап и отслеживать историю изменений.
Однажды у меня на компьютере сдох жёсткий диск. На нём было много рабочих файлов и самое главное много домашних фото и видео. Особенно ценным было виде где старший сын впервые побывал на море. К сожалению жёсткий диск восстановить не удалось. Все фото и видео пропали без следа. Тепрь для хранения копий личных файлов я использую облако. Рабочие документы вообще всегда в корпоративном облаке.
Ну а как быть с кодом? Конечно можно так же всё загружать в облако. Но как быть если я внесу изменения в файл и захочу сохранить версию отдельно, на случай если что-то заработает не так как мне хотелось? Придётся тогда хранить кучу архивов с версиями.
Оказывается подобные проблемы решены намного раньше чем я впервые наступил на эти грабли.

Для контроля версий я буду использовать git, а для хранения всего что я намудрю, я буду использовать github.

Теперь нужно настроить Git на моём компьютере
Проверю есть ли он у меня вообще, для этого в терминале вооже команду:

git --version
ответ:
git version 2.29.2

Значит Git у меня уже есть, версия 2.92.2
Теперь настрою его

git config --global user.name "Pavel Klochkov"
git config --global user.email “email@Домен.net”

Дальше перехожу на сайт github.com нажимаю кнопку Create repository

И ввожу имя своего репозитория

И жму Create repository
Репозиторий готов

Перехожу на вкладку Setting, в меню слева выбираю Secrets

Оставлю пока эту вкладку открытой и вернусь в консоль. Мне нужно сгенерировать SSH ключ чтобы удобно работать с github и не вводить при каждом коммите свой логин и пароль. Для этого ввожу в консоли команду

$ ssh-keygen -t ed25519 -C "your_email@example.com"

Естественно, что your_email@example.com меняю на свою почту которая зарегистрирована в github. В ответ 3 раза меня попросили нажать на enter. Мне не сложно я нажал. В итоге в домашнем каталоге появилась папка .ssh. В ней 2 файла, открываю ide_rsa.pub и копирую содержимое. Аозвращаюсь к открытой вкладке на Github и нажимаю New secret.

В поле Name пишу произвольное имя ключа
В поле Value вставляю содержимое файла ide_rsa.pubи жму Add secret

Ключи настроены, можно работать.

Удаляю из папки с проектом все файлы, их там всего 1 — index.php. Я создал его когда тестировал работу сервера и PHP.
Возвращаюсь в консоль и ввожу команды

cd/www git clone git@github.com:FenixPv/PuzzleChessCms.git
ответ:
Cloning into 'PuzzleChessCms'...
remote: Enumerating objects: 3, done.
remote: Counting objects: 100% (3/3), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Receiving objects: 100% (3/3), done.

В папке проекта появилась директория .git и файл README.md То есть всё то, что на данный момент находилось на github.com в моём репозитории.

А значит всё настроено, можно работать дальше.

Продолжение следует…