Что такое Git и зачем это нужно?
Распределённая система контроля версий Git — это консольная утилита для совместной разработки, благодаря которой разработчики могут фиксировать историю изменений в файлах с кодом, сравнивать изменения и откатывать репозиторий проекта (хранилище кода) до более ранних версий.
Внутри репозиториев находятся истории изменений кода (ветки). Каждая ветка состоит из точек сохранения проекта под названием коммит (commit).
Сегодня Git используется во многих IT-компаниях, где над проектом работает команда разработчиков. Обобщенная схема командной работы над проектом с помощью Git выглядит так:
- разработчик клонирует репозиторий проекта на ПК;
- получает задачу, создаёт новую ветку и пишет код;
- по завершению работ разработчик отправляет запрос на добавление кода в master-ветку (основную ветку);
- другие разработчики просматривают код и оставляют к нему комментарии;
- после доработки кода разработчик обновляет master-ветку и приступает к следующей задаче.
Git хранит все ваши репозитории в определенных папках на локальном жестком диске. Для работы с репозиториями на удаленном сервере можно воспользоваться системами GitLab, GitHub или Bitbucket.
Виртуальный сервер с GitLab
На хостинге SpaceWeb вы можете заказать виртуальные сервера (VDS/VPS) с предустановленным ПО. Для платформы GitLab потребуется не менее 4 ГБ оперативной памяти. Сейчас вы можете заказать подходящий сервер VPS со скидкой до 20%.
После заказа сервера и завершения установки GitLab можно начать работу. Логин и пароль для авторизации на сервере придут вам на электронную почту. Перейдите по ссылке из письма для авторизации в GitLab на сервере в качестве администратора.
После авторизации вы попадете в рабочее поле GitLab со списком ваших проектов.
Создание репозитория в GitLab
По кнопке "New Project" вы можете создать пустой проект, загрузить из шаблона или импортировать из других источников (GitHub, BitBucket и т.д.).
Для создания проекта укажите его название, описание, рабочую группу и уровень видимости в списке проектов пользователей.
После создания проекта появится его git-репозиторий, внутри которого можно загружать файлы, делать коммиты и создавать ветки.
Загрузка файлов в репозиторий проекта GitLab
Для загрузки файлов можно воспользоваться веб-интерфейсом GitLab, командной строкой или сторонним Git-клиентом.
В случае с веб-интерфейсом достаточно нажать на "Upload file", выбрать необходимые файлы и загрузить. Для комфортного редактирования кода в GitLab доступен WebIDE.
Создание SSH-ключа для работы с репозиториями.
Для комфортной работы с репозиториями по SSH необходимо добавить SSH-ключ. Откройте окно терминала и сгенерируйте необходимый ключ командой ssh-keygen.
- Для ключа ED25519:
ssh-keygen -t ed25519 -C ""
- Для ключа 2048-bit RSA:
ssh-keygen -t rsa -b 2048 -C ""
- В процессе генерации ключа будет предложено сохранить его в определенный каталог. Нажмите Enter для записи в каталог по умолчанию:
Generating public/private ed25519 key pair. Enter file in which to save the key (/home/user/.ssh/id_ed25519):
- При необходимости вы можете указать пароль.
Enter passphrase (empty for no passphrase): Enter same passphrase again:
Генерация ключей завершена, можно добавить публичный ключ в веб-интерфейсе GitLab.
Добавление пользователей GitLab
Для совместной разработки с другими сотрудниками в рамках одного проекта перейдите в раздел "Project Information" → "Members" и добавьте пользователей. Укажите ник или email пользователя на GitLab, роль пользователя и срок действия доступа.
Создание веток в GitLab
Условно, ваше приложение или сайт состоит из ряда важных функций. Каждую функцию можно запихнуть в ветку и вести в ней дальнейшую разработку и улучшение функции.
Для создания ветки в репозитории откройте нужный проект, нажмите на "+" и выберите "New Branch".
Создание веток также доступно через терминал или другой графический Git-интерфейс.
Объединение веток в GitLab (Мерджинг).
Когда вы закончили работу над веткой (исправили баг, улучшили функционал), то вы отправляете запрос на добавление ее в мастер-ветку (основную ветку с рабочим кодом).
Запрос на слияние можно отправлять при добавлении, редактировании или загрузки файла в репозиторий.
В запросе указываете автора и описание изменений, назначаете проверяющего. В свое время проверяющий смотрит изменения и при успехе сливает код в master-ветку с рабочим кодом.
Работа над задачами в GitLab
GitLab Issues — это основная среда для совместной работы над задачами в GitLab. Для создания задачи достаточно открыть нужный проект и в левом сайдбаре открыть раздел "Issues".
Заключение
Дочитав данную статью до конца вы получили стартовые навыки работы с платформой GitLab. Теперь вы можете арендовать виртуальный сервер с GitLab от 799 рублей в месяц и начать работу над проектами совместно с другими разработчиками. Благодаря такому подходу эффективность написания кода вырастет в разы!