Репозиторий: что это и как с ним работать
21 июля 2022

Репозиторий — часть системы Git, которая позволяет программистам совместно работать над проектами. Этот инструмент облегчает жизнь IT-специалистам: с ним можно безопасно вносить изменения в программный код.

Что такое Git, как работает и для чего нужен репозиторий — рассказываем в статье.

Что такое репозиторий простыми словами

Репозиторий — это хранилище всех версий кода. Он бывает трех видов:

  1. Локальный — расположен на одном компьютере, и работать с ним может только один человек.
  2. Централизованный — расположен на сервере, куда имеют доступ сразу несколько программистов.
  3. Распределенный — самый удобный вариант с облачным хранилищем. Главный репозиторий хранится в облаке, а его локальные копии — у разработчиков на компьютерах. Когда программист вносит правки в локальную версию, ее можно синхронизировать с удаленной. Получается, что в облаке всегда актуальный код.

Для работы с распределенными репозиториями нужен удобный сервис. Самые популярные — GitHub, GitLab и Bitbucket. У них понятный интерфейс, в котором можно управлять проектом, добавлять новые объекты и искать общедоступные репозитории.

Git — это система, которая позволяет контролировать версии приложения. Она сохраняет все подтвержденные изменения кода. Поэтому в любой момент можно отменить правки или исключить ненужные части кода.

Git-сервисы позволяют переключаться между ветками кода и просматривать коммиты. Объясним, что такое ветка и коммит, на примере сервиса GitLab.

Пример репозитория в GitLab — структура такая же, как в обычном файловом менеджере

Чтобы изменения отправились в репозиторий проекта, их нужно «закоммитить». Так называется отправка данных в репозиторий. Это действие нужно, чтобы в репозитории была четкая структура версий.

Коммит подтверждает, что изменения в коде финальные и их можно применять.

Пример коммита в системе GitLab. Сразу видно, кто, когда и какие изменения внес в репозиторий

В репозиториях существуют «ветки» — это важная особенность Git-систем. Ветка позволяет менять отдельные элементы кода, не вмешиваясь в основной код. Главная ветка называется master, дополнительные можно называть по-своему.

Так выглядит раздел с ветками в GitLab — они разделяются на активные и устаревшие. В меню можно посмотреть название, скачать или удалить всю ветку

Внутри ветки видно весь ход изменений. Например, что конкретно и в каких файлах изменили

Как работать с системой распределенных репозиториев

Системы распределенных репозиториев GitHub, GitLab и Bitbucket удобны по нескольким причинам:

  1. Через них легко координировать разработку, проводить и публиковать тесты.
  2. В них можно размещать открытый исходный код, чтобы разработчики скачивали его копии и по-своему изменяли. Благодаря таким энтузиастам появляются новые версии программ.
  3. Это полезный ресурс для программистов при трудоустройстве. Сервис заменяет «портфолио» разработчика: человек может дать доступ к своему репозиторию и показать примеры хорошего кода.

Как создать репозиторий

Разберемся на примере GitLab.

Для начала работы нужно создать аккаунт. Это можно сделать на главной странице сайта: достаточно ввести имя, контактную почту и придумать пароль.

Доступна регистрация по одному клику через действующие аккаунты в Google, GitHub, Twitter, Bitbucket и Salesforce

После регистрации открывается окно с доступными действиями. Здесь можно создать новый проект или группу для совместной работы, отправиться изучать проекты других участников или узнать больше о работе GitLab.

У сервиса минималистичный интерфейс, в котором можно быстро разобраться

В новом окне нужно выбрать действие с проектом:

  • Создать новый: подходящий вариант для нового репозитория. Останется задать имя и адрес, описание, доступность и конфигурацию проекта.
  • Создать по готовому шаблону: достаточно выбрать цель проекта, и сервис создаст репозиторий с нужными настройками. Например, для работы с Android- или iOS-приложениями.
  • Импортировать готовый с GitHub или Bitbucket.
  • Подключить внешний репозиторий к GitLab CI/CD.

CI/CD — это «непрерывная интеграция и непрерывная поставка». При таком подходе в код вносят частые небольшие изменения, чтобы ускорить процесс коллективной работы.

Продвинутые пользователи могут создать проект через командную строку — это базовый инструмент работы с Git

После ввода основных параметров проекта остается нажать Create project, и репозиторий готов.

Для тех, кто не знает, как добавить репозиторий к уже существующим: нужно нажать на знак плюса в верхней части страницы и выбрать New project/repository.

По клику откроется меню с выбором, какой проект нужно создать

Как создать SSH-ключ

Как подключить репозиторий к облаку: для этого нужен SSH-ключ. Он позволяет не вводить данные пользователя при каждом коммите. Чтобы создать ключ, нужно:

  1. Скачать на компьютер Git-клиент.
  2. После установки клиента запустить его и ввести ssh-keygen в командной строке.
  3. Придумать имя для файла с ключом и запомнить путь сохранения. По умолчанию для Windows это ваша пользовательская папка.
  4. Придумать пароль для файла. Если пароль не нужен, пропустите шаг, нажав клавишу Enter.
  5. Получить два файла с ключом. Один — локальный только для вас, второй — публичный, для копирования. Git создает их автоматически.

Git записывает все ваши действия. Так можно проверить, какое имя файла вы задали и куда сохранили

Следующим шагом надо найти в вашей папке публичный ключ. У него будет расширение .pub — следует открыть его в текстовом редакторе и скопировать весь текст.

Далее нужно перейти к настройкам пользователя GitLab и выбрать раздел SSH Keys. Здесь нужно вставить скопированный текст в поле Key, задать имя и срок действия ключа и нажать Add key.

Новый SSH-ключ готов. Теперь с его помощью можно связать локальный репозиторий на компьютере с облачным в GitLab

Как клонировать репозиторий

Это действие нужно, чтобы подключить ключ. Чтобы клонировать репозиторий в GitLab:

  1. Откройте репозиторий.
  2. Нажмите кнопку Clone.
  3. Скопируйте ссылку Clone with SSH.

Эти данные нужно будет ввести в Git-клиент на компьютере.

Выводы

Репозиторий — функциональное средство для работы с кодом. Работа с Git-репозиторием в программировании не позволит потерять или безвозвратно испортить код. Любые правки всегда можно отменить.

Для работы с системой контроля репозиториев потребуется Git-клиент на компьютере — через него отправляют пакеты с кодом в облачное хранилище. Он бесплатный и доступен для разных операционных систем: Windows, Linux и macOS. Также во всех современных редакторах кода типа VS Code или Atom есть инструменты для работы с репозиториями и Git-платформами. Это может быть встроенная возможность или плагины.


Рекомендуем