Содержание

Как пользоваться GitLab — База Знаний Timeweb Community

Сегодня поговорим об азах взаимодействия с одной из самых популярных git-систем. 

Что такое GitLab

Сейчас почти никто не пишет код в одиночку. Команды инженеров и разработчиков растут, как на дрожжах. Работая в группах, программисты используют системы управления исходным кодом на базе git, специального инструмента, позволяющего хранить данные разрабатываемого проекта в сети и совместно редактировать его с учетом определенных правил и методик взаимодействия. Самый известный подобный сервис – GitHub. А GitLab – это его собрат, выполняющий те же функции, но устроенный несколько иначе. 

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

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Разница между GitLab и GitHub 

Оба сервиса – системы управления репозиториями на базе git. Принципиальных отличий между ними нет. GitHub появился раньше и стал чуть ли не синонимом git, поэтому он популярнее и для многих является единственной системой для управления репозиториями. 

Но GitLab есть что предложить с точки зрения функциональности, поэтому все чаще наблюдается переход пользователей с GitHub на GitLab. В частности, это касается разработчиков-новичков, которые пока еще не «приросли» к GitHub. 

В связи с растущей популярностью GitLab я и решил познакомить вас с этим сервисом поближе.

Инструкция по использованию GitLab 

Перед началом работы с сервисом, нужно создать учетную запись. Процедура эта весьма тривиальна:

  • Заходим на официальный сайт GitLab.

  • В верхнем левом углу находим кнопку Login и жмем по ней. 

  • Через пару секунд перед вам откроется форма входа в систему, а под ней будет ссылка на форму регистрации (Register now). Переходим по ней. 

  • Заполняем данные для регистрации (классические данные: адрес электронной почты, пароль, логин и т. п.). Жмем на кнопку Register.

  • В течение пары минут на указанную при регистрации почту «упадет» сообщение со ссылкой для подтверждения создания аккаунта. Переходим по ней. 

Учетная запись готова. Теперь можно переходить непосредственно к знакомству с GitLab.

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

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

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

После формирования проекта можно переходить непосредственно к созданию репозиториев, загрузке программ в GitLab и т.п. 

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

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

  • Кликаем по иконке со значком + в панели управления.  

  • Выбираем пункт New project/repository. 

  • Затем кликаем по Create blank project

  • Указываем его имя и другие запрашиваемые параметры (можно указать, публичным будет репо или приватным) и нажимаем на кнопку Create Project

Вместе с проектом сформируется новый git-репозиторий. Теперь можно с ним взаимодействовать, то есть загружать файлы, делать коммиты, создавать различные ветки для разработки продукта и мерджить их при необходимости. 

Как загрузить файлы сайта/приложения в GitLab 

Тут есть 3 пути.

Первый – используем веб-интерфейс GitLab
  • На главной странице проекта ищем строку The repository for this project is empty, а под ней кнопку Upload File и нажимаем на нее.

  • GitLab предложит выбрать файлы проекта для загрузки и последующей работы с ними. Выбираем все файлы, что используем при разработке и выгружаем.  

Также можно использовать WebIDE, встроенную в GitLab, чтобы прямо в браузере писать код и создавать файлы для своего приложения/сайта.

Второй – используем командную строку

Тут все сложнее, но на самом GitLab опубликована короткая и доходчивая инструкция по подключению к сервису через командную строку, используя классический git-клиент. 

Третий – используем сторонний git-клиент

Существуют приложения в духе Tower и Sublime Merge, позволяющие управлять репозиториями, делать коммиты и пушить изменения в проекты при помощи удобного графического интерфейса. Можно подключиться к GitLab с помощью одной из таких программ.

Как добавить SSH-ключ для подключения к репозиторию

SSH-ключи можно использовать для авторизации в GitLab и для управления репозиториями по протоколу Secure Shell. Чтобы это сделать:

  1. Генерируем ключ с помощью команды ssh-keygen (вводим ее в терминал).  

  2. Генератор предложит сохранить получившийся ключ. Менять директорию, куда сохраняется ключ, необязательно. 

  3. Затем утилита попросит ввести пароль. Его тоже можно не вводить. Просто жмем на Enter. 

  4. В указанной на втором этапе папке появится файл с ключом в формате .pub. В нем лежит ключ. Нужно скопировать его.

  5. Возвращаемся на сайте GitLab. Открываем раздел SSH-keys, вставляем ключ в специально отведенное для этого поле и нажимаем на кнопку Add key

Как работать с ветками

Ветки – это инструмент для создания дополнительных вариаций приложения/сайта, которые позволяют вести разработку новых функций, не затрагивая при этом основное приложение, доступное для пользователей.

По умолчанию в GitLab доступна только одна ветка – master. Но ее чаще используют не для разработки, а для публикации готовых сборок проекта, которые нестрашно превратить в релиз для масс.

Поэтому принято создавать новые ветки для разработки дополнительных функций, а уже потом объединять их с основной.

Как создавать ветки

Ветки – не уникальная для GitLab функция. Это часть git, поэтому, как и в случае с репозиториями, тут можно пойти тремя путями:

  1. На сайте GitLab в окне управления репозиторием нажать на кнопку + справа от названия ветки, а потом выбрать пункт New branch в выпадающем меню. 

  2. Можно создать новую ветку через git-клиент в терминале с помощью команды 

    git checkout -b [название новой ветки].

  3. Или воспользоваться аналогичной функций в используем графическом git-клиенте (Tower, Sublime Merge, GitFox и т.п.).

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

Мерджинг веток

Мерджинг (или объединение) веток – это механизм слияния двух наборов функций одной программы, позволяющий переносить функции из дополнительных веток в основную ветку разработки, где лежит приложение. Результат увидят еще и пользователи, а не только разработчики. 

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

Выглядит это следующим образом: 

  • На сайте появляется большая синяя кнопка Create merge request. Кликаем по ней. 

  • Затем рассказываем о своем запросе (поясняем, для чего он делается). 

  • Указываем автор запроса в поле Assignee.

  • Указываем человека, который будет проверять запрос в поле Reviewer.

  • Потом указываем Milestone (если используете их).

  • Ставим теги.

  • И нажимаем на Create merge request

  • Если с запросом все ок, то проверяющий нажмет на кнопку Merge, и весь код перекочует в основную ветку проекта (ну или ту, которую указал автор запроса).  

Как добавлять пользователей в проект

К разработке своего приложения/сайта всегда можно привлечь людей со стороны:

  • Для этого кликаем по кнопке Project information в боковой панели GitLab.

  • Выбираем пункт Members

  • В графу GitLab member or Email address вписываем ник GitLab-пользователя или его email-адрес. 

  • Выбираем для него роль (гость, наблюдатель, разработчик).

  • Также указываем время действия приглашения (в указанный день приглашенный будет исключен из проекта). 

  • А потом кликаем на Invite

Если выбранный человек согласится присоединиться, то ваша команда расширится. 

Как создавать баг-репорты 

В git-системах есть инструменты, помогающие оповещать разработчиков об ошибках и обсуждать их как с пользователями, так и с коллегами. 

Речь идет о разделе Issues. Если возникла проблема, то нужно сообщить о ней тут. Для этого:

  • Открываем раздел Issues в боковой панели управления. 

  • Затем нажимаем на кнопку New issue

  • Даем имя обнаруженной проблеме, а затем подробно описываем ее в разделе Description.

  • Затем назначаем ответственного в пункте Assignee и срок, в течение которого нужно найти решение найденной проблемы.

  • А потом нажимаем на кнопку Create issue

Как удалить проект

  • Открываем настройки проекта и переходим во вкладку General.

  • Листаем ее до пункта Advanced

    и справа от него ищем кнопку Expand, которая откроет доступ к дополнительным параметрам.

  • Вновь пролистываем появившееся меню до упора вниз, пока не наткнемся на кнопку Delete project.

  • Нажимаем на нее и вписываем название проекта, чтобы его удалить. 

Вместо заключения

На этом все. Я рассмотрел базовые возможности GitLab и намеренно не затрагивал аналитические инструменты, интеграцию с Kubernetes и дополнительные функции, пытаясь сконцентрироваться на важнейших концептах GitLab и git. Это то, что вам необходимо для старта, независимо от того, пользовались вы ранее другими системами управлениями репозиториями или нет.

Git — Документация git-help

help.format

Если параметр командной строки не передан, конфигурация help.format переменная будет проверена. Для этого поддерживаются следующие значения переменная; они заставляют git help вести себя как соответствующая им команда- вариант линии:

  • «человек» соответствует

    -m|—man ,

  • «информация» соответствует -i|—info ,

  • «web» или «html» соответствуют -w|—веб .

help.browser, web.browser и browser.

.path

help.browser , web.browser и browser..path также быть проверено, если выбран формат web (либо с помощью командной строки опция или переменная конфигурации). См. -w|—web в ВАРИАНТАХ раздел выше и git-web—browse[1].

man.viewer

Переменная конфигурации man.viewer будет проверяться, если человек

выбран формат. В настоящее время поддерживаются следующие значения:

  • «человек»: используйте программу man как обычно,

  • «женщина»: используйте emacsclient для запуска режима «женщина» в emacs (работает только начиная с версии emacsclient 22),

  • «konqueror»: используйте kfmclient , чтобы открыть справочную страницу в новом konqueror. (см. примечание о konqueror ниже).

Можно использовать значения для других инструментов, если имеется соответствующий man.

<инструмент>.cmd запись конфигурации (см. ниже).

Конфигурация man.viewer может иметь несколько значений переменная. Соответствующие им программы будут опробованы в порядке указан в конфигурационном файле.

Например, эта конфигурация:

 [мужской]
зритель = завоеватель
viewer = woman 

сначала попытается использовать konqueror. Но это может не сработать (например, если DISPLAY не установлен), и в этом случае будет опробован женский режим emacs.

Если ничего не помогает или если программа просмотра не настроена, указанная программа просмотра в переменной среды GIT_MAN_VIEWER будет опробована. Если это тоже не получится, программа man все равно будет опробована.

man.

.path

Вы можете явно указать полный путь к предпочтительному средству просмотра man, установка переменной конфигурации man..path . Например, вы можно настроить абсолютный путь к konqueror, установив man. konqueror.path . В противном случае git help предполагает, что инструмент доступны в PATH.

man.

.cmd

При просмотре man, указанном в конфигурации man.viewer переменных, нет среди поддерживаемых, то соответствующий man..cmd Переменная конфигурации будет найдена. Если это существует, то указанный инструмент будет рассматриваться как пользовательский команда, и eval оболочки будет использоваться для запуска команды с человеком страница передается в качестве аргументов.

Примечание о konqueror

Когда konqueror указан в конфигурации man.viewer переменная, мы запускаем kfmclient , чтобы попытаться открыть справочную страницу на уже открыл konqueror в новой вкладке, если это возможно.

Для согласованности также пробуем такой трюк, если man.konqueror.path есть установите что-то вроде A_PATH_TO/konqueror . значит будем стараться вместо этого запустите A_PATH_TO/kfmclient .

Если вы действительно хотите использовать konqueror , тогда вы можете использовать что-то вроде следующее:

 [мужской]
зритель = конк
[человек "конк"]
cmd = A_PATH_TO/konqueror 

Примечание о git config —global

Обратите внимание, что все эти переменные конфигурации, вероятно, должны быть установлены используя флаг --global , например так:

 $ git config --global help.format web
$ git config --global web.browser firefox 

, поскольку они, вероятно, больше зависят от пользователя, чем от репозитория. См. git-config[1] для получения дополнительной информации об этом.

Учебное пособие. Сделайте свой первый коммит в Git

  • Что вам нужно
  • Что такое Git?
  • Шаги
    • Создайте пример проекта
    • Клонируйте репозиторий
    • Создайте ветку и внесите изменения
    • Зафиксируйте и отправьте ваши изменения
    • Слейте ваши изменения
    • Просмотрите свои изменения в GitLab
    900 16
  • Дополнительные учебные ресурсы по Git

Этот туториал расскажет вам немного о том, как работает Git. Он ходит пройти этапы создания собственного проекта, редактирования файла и внесение изменений в репозиторий Git из командной строки.

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

Что вам нужно

Прежде чем начать:

  • Установите Git на свой локальный компьютер.
  • Убедитесь, что вы можете войти в экземпляр GitLab. Если ваша организация не иметь GitLab, создайте учетную запись на GitLab.com.
  • Создайте ключи SSH и добавьте их в GitLab. Ключи SSH — это то, как вы безопасно обмениваться данными между вашим компьютером и GitLab.

Что такое Git?

Прежде чем перейти к шагам, давайте рассмотрим некоторые основные концепции Git.

Git — это система контроля версий. Он используется для отслеживания изменений в файлах.

Вы храните файлы, такие как код или документы, в репозитории Git . Когда вы хотите редактировать файлы, вы клонируйте репозиторий на свой компьютер, внесите изменения и отправьте ваши изменения вернуться в репозиторий. В GitLab репозиторий Git находится в проект .

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

граф LR subgraph История фиксации репозитория направление LR A(Автор: Alex
Дата: 3 января в 13:00
Сообщение фиксации: Добавлены данные о продажах
Идентификатор фиксации: 123abc12) —> B B(Автор: Сэм
Дата: 4 января в 10:00
Сообщение фиксации: Удалена старая информация
Идентификатор фиксации: aabb1122) —> C C(Автор: Чжан
Дата: 5 января в 15:00
Сообщение фиксации: Добавлены счета
Идентификатор фиксации: ddee4455) конец

Когда вы работаете с репозиторием Git, вы работаете с ветками . По умолчанию содержимое репозитория находятся в дефолтной ветке. Чтобы внести изменения, вы:

  1. Создайте собственную ветку, которая является снимком ветки по умолчанию на момент вы создаете его.
  2. Внесите изменения и отправьте их в свою ветку. Каждое нажатие создает коммит.
  3. Когда вы будете готовы, объедините вашу ветку с веткой по умолчанию.

блок-схема LR подграф Ветвь по умолчанию A[фиксация] —> B[фиксация] —> C[фиксация] —> D[фиксация] конец подграф Моя ветка Б —1. Создать мою ветку—> E(Commit) Э —2. Добавить мою фиксацию -> F (фиксация) Ф — 3. Объединить мою ветку с дефолтной —> D конец

Если все это кажется немного ошеломляющим, держитесь. Вы скоро увидите эти концепции в действии.

шагов

Вот краткий обзор того, что мы собираемся сделать:

  1. Создайте пример проекта.
  2. Клонируйте репозиторий.
  3. Создайте ветку и внесите свои изменения.
  4. Зафиксируйте и отправьте свои изменения.
  5. Объедините ваши изменения.
  6. Просмотрите свои изменения в GitLab.

Создать пример проекта

Для начала создайте образец проекта в GitLab.

  1. В GitLab на верхней панели выберите Главное меню > Проекты > Просмотреть все проекты .
  2. В правой части страницы выберите Новый проект .
  3. Для имени проекта введите Мой образец проекта . Слаг проекта генерируется для вас. Этот ярлык — это URL-адрес, который вы можете использовать для доступа к проекту после его создания.
  4. Убедитесь, что выбран параметр Инициализировать репозиторий с помощью файла README . Как вы заполните другие поля, зависит от вас.
  5. Выберите Создать проект .

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

Теперь вы можете клонировать репозиторий в свой проект. Клонирование репозитория означает, что вы создаете копию на свой компьютер или в другое место, где вы хотите хранить файлы и работать с ними.

  1. На странице проекта выберите Clone . Скопируйте URL-адрес . Клонируйте с помощью SSH .

  2. Откройте терминал на своем компьютере и перейдите в каталог куда вы хотите клонировать файлы.

  3. Введите git clone и вставьте URL-адрес:

     git clone [email protected]:gitlab-example/my-sample-project.git
     
  4. Перейдите в каталог:

     cd my-sample-project
     
  5. По умолчанию вы клонировали ветку по умолчанию для репозитория. Обычно это филиал основной . Чтобы быть уверенным, получите имя ветки по умолчанию:

     ветка git
     

    Ветка, на которой вы находитесь, отмечена звездочкой. Нажмите Q на клавиатуре, чтобы вернуться к основному терминалу окно.

Создать ветку и внести изменения

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

  1. Создайте новую ветку с именем example-tutorial-branch .

     git checkout -b пример-учебник-ветвь
     
  2. В текстовом редакторе, таком как Visual Studio Code, Sublime, vi или любом другом редакторе, откройте файл README.md и добавьте этот текст:

     Привет, мир! Я использую Git!
     
  3. Сохраните файл.

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

     статус git
     

    Вы должны получить вывод, аналогичный следующему:

     На ветке example-tutorial-branch
    Изменения, не подготовленные для фиксации:
    (используйте "git add ...", чтобы обновить то, что будет зафиксировано)
    (используйте «git restore ...», чтобы отменить изменения в рабочем каталоге)
    изменено: README.md
    в фиксацию не добавлено никаких изменений (используйте «git add» и/или «git commit -a»)
     

Зафиксируйте и отправьте изменения

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

  1. Добавьте файл README.md в промежуточную область . Площадка — это место, где вы поместите файлы, прежде чем вы их зафиксируете.

     git добавить README.md
     
  2. Подтвердите, что файл подготовлен:

     статус git
     

    Вы должны получить вывод, подобный следующему, и имя файла должно быть в зеленый текст.

     На ветке пример-учебник-ветка
    Изменения, которые необходимо зафиксировать:
    (используйте "git restore --staged ...", чтобы отменить постановку)
    изменено: README.md
     
  3. Теперь зафиксируйте промежуточный файл и включите сообщение который описывает изменение, которое вы сделали. Убедитесь, что вы окружили сообщение двойным кавычки («).

     git commit -m «Я добавил текст в файл README»
     
  4. Изменение было зафиксировано в вашей ветке, но ваша ветка и ее коммиты по-прежнему доступны только на вашем компьютере. Доступа к ним пока нет ни у кого. Отправьте свою ветку в GitLab:

     git push origin пример-учебник-ветвь
     

Теперь ваша ветка доступна на GitLab и видна другим пользователям вашего проекта.

Объедините ваши изменения

Теперь вы готовы объединить изменения из ветки example-tutorial-branch в ветку по умолчанию ( main ).

  1. Проверьте ветку по умолчанию для вашего репозитория.

     git checkout основной
     
  2. Объединить вашу ветку с веткой по умолчанию.

     git merge пример-учебник-ветка
     
  3. Отправьте изменения.

     git push
     
примечание

В этом руководстве вы объединяете свою ветку непосредственно с веткой по умолчанию для вашего репозиторий. В GitLab вы обычно используете запрос на слияние чтобы объединить вашу ветку.

Просмотрите свои изменения в GitLab

Ты сделал это! Вы обновили файл README.md в своей ветке и объединили эти изменения в основную ветку .

Давайте заглянем в пользовательский интерфейс и подтвердим ваши изменения. Зайдите в свой проект.

Теперь вы можете вернуться в командную строку и вернуться в свою личную ветку ( git checkout example-tutorial-branch ).