Система контроля версий репозитория стала революционным шагом в командной разработке, ведении документации и работе с проектами. Возможность ведения публичных репозиториев, так же открыла многим пользователям доступ к ПО, которое разработано сообществом. Одним из популярных хабов репозиториев является GitHub, в данном материале рассмотрим способы работы с ним!
Что такое Git и GitHub?
Git – это система контроля версий репозитория, которая представляет собой средство управления коллекциями хранимыми на сервере с возможностью совместного ведения проекта.
GitHub – это платформа основанная на системе Git с механизмами для организации цикла разработки ПО и управления сервисами. Управляется через веб-панель, есть возможность разграничить доступ к репозиторию: для себя, команды и публичного использования.
Существуют несколько вариантов архитектуры репозиториев Git/Github:
- Распределенная, представлена в виде совокупности узлов с возможностью публичного доступа к ресурсу;
- Серверная, реализация одиночным узлом, в основном в корпоративном сегменте;
- Локальная, для работы с репозиториями на устройстве пользователя, как некое рабочее пространство для проектов.
Обычно работает это следующим образом: клиент инициализирует в рабочей папке с помощью утилиты git репозиторий:
git init /путьЗатем пользователь добавляет в нее необходимые файлы для работы, регистрирует изменения рабочей директории или же Working Tree, при помощи команды:
git add . После создает снимок рабочей директории или же commit и сохраняет файлы для дальнейшей передачи в репозиторий, где и хранится совокупность Commit’ов. Есть возможность отправить данные в локальные репозиторий одной командой:
git push origin main Или на удаленный репозиторий, такой как GitHub или GitLab, но как это сделать? А как скачать репозиторий с GitHub на свое устройство? Рассмотрим эти вопросы ниже.
Как скачать репозиторий в GitHub?
Для начала найдем нужный проект на официальном сайте и перейдем во вкладку Code:

Представлено несколько вариантов клонирования или полного скачивания репозитория:
- HTTPS – скачать возможно через ZIP архив по кнопке ниже или через команду git clone <URL>;
- SSH – скачивание происходит через туннель с аутентификации по публичным ключам на сервере;
- GitHub CLI – утилита для GitHub, в виде клиента с чуть расширенным функционалом.
Рассмотрим первые два варианта скачивания через утилиту git по протоколам HTTPS и SSH. Для первого варианта перейдите к терминалу и введите:
git clone {URL}Вместо URL, ввести вашу ссылку на репозиторий и дождитесь скачивания последней версии. После чего будет создана рабочая директория аналогичная названию репозитория:

Через SSH схема скачивания немного иная, на клиентском устройстве просмотрите свои публичные ключи SSH:
Для Linux классически находятся в папке .ssh, название файла может отличаться:
cat /home/ваш-логин/.ssh/id_rsa.pubДля Windows команда выглядит следующим образом:
cat C:\ваш-логин\Mi\.ssh\id_rsa.pub Ключ должен принимать следующий вид, скопируйте его:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQCutHsqJMHaBHLMpl6DkH/x/0H/fwPT687X11omrzqNGJNyehDSw4EyY9kfcz6Y4LG/JgTLuBGfZpE9TCvudvAgo6BV9jM9Hsqw/G9PlB99h9K14B/gtSCdzmT5cxFmTEcbrSbtdQukNFJL1BRab/ayJ0CkMiID7QHac0WRp2gN0fo4ozG4LpHcLyXxn4J5MsfJxvSvo3T8gFtEjKPp8KE0Q6YVEAQ7fC97D+4B+V7hd3wM4WZvlBh2RtWdZcaomLis5Pa/wzcH8WsibQ0w5Rw5+Xrw4pnUjbtnEr4YHn3Rx0T1tBg/HudPrqZ4se0MW8o7bZXYIrDnyIwQ8lyTG8IQMEqyh4+XssEAKX1D4UZpG93c7pXylDwUhJ0LEeQuzfnLQmeSFML7DILQh4CY8BG/L1Vgbo2PNyiVWYLalJoTjLna2LpooTjgjH44t2rHiULDsCJBGq6Js1Bjk3LiqtIawYjdxEcv4Vgu4zPAgvnvFmkY4v8HFph578tgoSgoZPk= gg@DESKTOP-GFERDSAЕсли у вас нет ключа, то создайте его, при помощи команды:
ssh-keygen После чего повторите действия выше и скопируйте ключ! После перейдем к сайту GitHub и зайдем в настройки пользователя через аватарку справа сверху. Выберем слева пункт SSH and GPG keys:

Нажмите на кнопку New SSH key и пропишите скопированный ключ, а так же введите краткое название для него:

После нажмите Add SSH key и подтвердите изменения паролем от аккаунта, ключ должен добавиться, как способ аутентификации:

Отлично! Теперь можем перейти в терминал клиента и скачать репозиторий привычной командой:

Клиент аутентифицировался на сервере закрытым ключом, а идентифицировался публичным, что позволило получить доступ к репозиторию.
Все действия были выполнены в среде облачного сервера от Serverspace, для этого перейдем к созданию сервера, на любой из двух платформ vStack cloud или же VMware cloud. Нажмем на кнопку Создать сервер и выберем конфигурацию, подходящую под наши задачи, затем нажмем кнопку Создать:
Скриншот №7 — Создание сервера