0 added
0 removed
Original
2026-01-01
Modified
2026-03-10
1
<p>Мы с вами уже говорили про<a>Git</a>и<a>GitHub</a>. В этой статье расскажем о том, что такое<strong>GitLab</strong>, как им пользоваться, какая настройка потребуется.</p>
1
<p>Мы с вами уже говорили про<a>Git</a>и<a>GitHub</a>. В этой статье расскажем о том, что такое<strong>GitLab</strong>, как им пользоваться, какая настройка потребуется.</p>
2
<p>GitLab - это онлайн-сервис, предназначенный для работы с<strong>git-репозиториями</strong>. Его можно использовать непосредственно на официальном сайте (gitlab.com), зарегистрировав аккаунт, или установить и развернуть на своём сервере.</p>
2
<p>GitLab - это онлайн-сервис, предназначенный для работы с<strong>git-репозиториями</strong>. Его можно использовать непосредственно на официальном сайте (gitlab.com), зарегистрировав аккаунт, или установить и развернуть на своём сервере.</p>
3
<h2>Возможности GitLab</h2>
3
<h2>Возможности GitLab</h2>
4
<p>GitLab - это отличный инструмент для разработчиков, который предоставляет следующие возможности: - управление публичными и приватными git-репозиториями; - управление пользователями и группами, правами доступа к git-репозиториям; - отслеживание ошибок, деплой, анализ кода; - интеграция с разными CI-системами CI (Jenkins и т. п.), организация самостоятельного процесса CI посредством встроенных средств.</p>
4
<p>GitLab - это отличный инструмент для разработчиков, который предоставляет следующие возможности: - управление публичными и приватными git-репозиториями; - управление пользователями и группами, правами доступа к git-репозиториям; - отслеживание ошибок, деплой, анализ кода; - интеграция с разными CI-системами CI (Jenkins и т. п.), организация самостоятельного процесса CI посредством встроенных средств.</p>
5
<p>Есть и другие возможности (функционал api, wiki страниц, доски задач и идей, отслеживание изменений, комментарии к проектам и прочие). Подробнее можно узнать из<a>официальной документации</a>.</p>
5
<p>Есть и другие возможности (функционал api, wiki страниц, доски задач и идей, отслеживание изменений, комментарии к проектам и прочие). Подробнее можно узнать из<a>официальной документации</a>.</p>
6
<h2>GitLab и GitHub</h2>
6
<h2>GitLab и GitHub</h2>
7
<p>Как известно, главный конкурент GitLab - это сервис<strong>GitHub</strong>. Появился он на три года раньше (в 2008), поэтому более популярен. Да что там говорить, GitHub сегодня - это сайт номер один по размещению open source-проектов. Они почти все на нём и размещаются.))) И у многих людей Git напрямую ассоциируется с сервисом GitHub.</p>
7
<p>Как известно, главный конкурент GitLab - это сервис<strong>GitHub</strong>. Появился он на три года раньше (в 2008), поэтому более популярен. Да что там говорить, GitHub сегодня - это сайт номер один по размещению open source-проектов. Они почти все на нём и размещаются.))) И у многих людей Git напрямую ассоциируется с сервисом GitHub.</p>
8
<p>Да, плюсов у GitHub много, но мы не будем сейчас сравнивать оба сервиса. Скажем только, что несмотря на повышенную популярность и огромнейшее комьюнити GitHub (26 млн. человек), наблюдается<strong>тенденция перехода крупных команд разработчиков на GitLab</strong>. Это происходит благодаря расширенным возможностям второго.</p>
8
<p>Да, плюсов у GitHub много, но мы не будем сейчас сравнивать оба сервиса. Скажем только, что несмотря на повышенную популярность и огромнейшее комьюнити GitHub (26 млн. человек), наблюдается<strong>тенденция перехода крупных команд разработчиков на GitLab</strong>. Это происходит благодаря расширенным возможностям второго.</p>
9
<h2>Как использовать GitLab? Настройка сервиса</h2>
9
<h2>Как использовать GitLab? Настройка сервиса</h2>
10
<h3>1. Создание аккаунта</h3>
10
<h3>1. Создание аккаунта</h3>
11
<p>Для начала, зарегистрируемся на сайте<a>GitLab</a>. Для этого нужно перейти на вкладку<strong>Register</strong>, которая находится в правой части экрана. Появится форма, где нужно будет ввести имя, логин, электронную почту.</p>
11
<p>Для начала, зарегистрируемся на сайте<a>GitLab</a>. Для этого нужно перейти на вкладку<strong>Register</strong>, которая находится в правой части экрана. Появится форма, где нужно будет ввести имя, логин, электронную почту.</p>
12
<p>Далее вы получите на почту сообщение, где будет находиться ссылка для подтверждения аккаунта. После перехода по ней появится форма авторизации.</p>
12
<p>Далее вы получите на почту сообщение, где будет находиться ссылка для подтверждения аккаунта. После перехода по ней появится форма авторизации.</p>
13
<p>Путём ввода пароля и логина вы окажетесь на главной странице вашего профиля на GitLab. Сначала это будет страница приветствия, но позже здесь появится перечень ваших Git-репозиториев.</p>
13
<p>Путём ввода пароля и логина вы окажетесь на главной странице вашего профиля на GitLab. Сначала это будет страница приветствия, но позже здесь появится перечень ваших Git-репозиториев.</p>
14
<h3>2. Создание репозитория</h3>
14
<h3>2. Создание репозитория</h3>
15
<p>Для добавления проекта GitLab потребуется кликнуть по значку +, который находится в центре верхней панели. Далее нужно выбрать New Project:</p>
15
<p>Для добавления проекта GitLab потребуется кликнуть по значку +, который находится в центре верхней панели. Далее нужно выбрать New Project:</p>
16
<p>Теперь вводим имя и описание репозитория, выбираем уровень доступа. Их существует три: -<strong>Private</strong>. Доступен только для вас; -<strong>Internal</strong>. К репозиторию смогут получить доступ все зарегистрированные пользователи; -<strong>Public</strong>. Свободный доступ для всех.</p>
16
<p>Теперь вводим имя и описание репозитория, выбираем уровень доступа. Их существует три: -<strong>Private</strong>. Доступен только для вас; -<strong>Internal</strong>. К репозиторию смогут получить доступ все зарегистрированные пользователи; -<strong>Public</strong>. Свободный доступ для всех.</p>
17
<p>Также можно инициализировать репозиторий файлом README, поставив соответствующую галочку. Однако, если планируете залить файлы из уже существующего Git-репозитория, то не стоит этого делать.</p>
17
<p>Также можно инициализировать репозиторий файлом README, поставив соответствующую галочку. Однако, если планируете залить файлы из уже существующего Git-репозитория, то не стоит этого делать.</p>
18
<p>Чтобы попасть на страницу репозитория, нажмите кнопку "Create repo". GitLab предложит первоначальный набор действий с целью проинициализировать ваш репозиторий. В итоге вы сможете создать файлы здесь либо загрузить их из своего ПК.</p>
18
<p>Чтобы попасть на страницу репозитория, нажмите кнопку "Create repo". GitLab предложит первоначальный набор действий с целью проинициализировать ваш репозиторий. В итоге вы сможете создать файлы здесь либо загрузить их из своего ПК.</p>
19
<h3>3. Загрузка файлов проекта</h3>
19
<h3>3. Загрузка файлов проекта</h3>
20
<p>Теперь перейдём к созданию нового локального репозитория на ПК и загрузим содержимое на GitLab. Сначала создадим папку репозитория, назвав её, к примеру, test-repo. Теперь проинициализириуем в ней новый репозиторий, используя команду git:</p>
20
<p>Теперь перейдём к созданию нового локального репозитория на ПК и загрузим содержимое на GitLab. Сначала создадим папку репозитория, назвав её, к примеру, test-repo. Теперь проинициализириуем в ней новый репозиторий, используя команду git:</p>
21
mkdir test-repo && cd test-repo git init<p>Теперь создаём файл test.txt:</p>
21
mkdir test-repo && cd test-repo git init<p>Теперь создаём файл test.txt:</p>
22
vi test.txt This is test losst repo<p>И фиксируем изменения:</p>
22
vi test.txt This is test losst repo<p>И фиксируем изменения:</p>
23
git add test.txt git commit -m "Inital commit"<p>Сейчас давайте добавим наш удалённый репозиторий с GitLab к нашему локальному, выполнив следующую команду:</p>
23
git add test.txt git commit -m "Inital commit"<p>Сейчас давайте добавим наш удалённый репозиторий с GitLab к нашему локальному, выполнив следующую команду:</p>
24
git remote add origin https://gitlab.com/losst/test-repo.git<p>Потом отправим изменения в удалённый репозиторий:</p>
24
git remote add origin https://gitlab.com/losst/test-repo.git<p>Потом отправим изменения в удалённый репозиторий:</p>
25
<p>Чтобы отправить данные, введём пароль и логин на GitLab. После обновления страницы на GitLab, увидим наш файл:</p>
25
<p>Чтобы отправить данные, введём пароль и логин на GitLab. После обновления страницы на GitLab, увидим наш файл:</p>
26
<p>Кстати, если удалённый репозиторий пустым не является, так сделать не получится. Потребуется сначала его скачать, слить с ним локальные изменения, а только потом отправить всё назад.</p>
26
<p>Кстати, если удалённый репозиторий пустым не является, так сделать не получится. Потребуется сначала его скачать, слить с ним локальные изменения, а только потом отправить всё назад.</p>
27
<h3>4. SSH-ключи</h3>
27
<h3>4. SSH-ключи</h3>
28
<p>При загрузке данных на GitLab требовалось ввести пароль и логин на сервере. Но есть и другой путь -<strong>SSH-ключи</strong>для авторизации. Для создания ключа выполните:</p>
28
<p>При загрузке данных на GitLab требовалось ввести пароль и логин на сервере. Но есть и другой путь -<strong>SSH-ключи</strong>для авторизации. Для создания ключа выполните:</p>
29
<p>Потом вводим путь к файлу сохранения ключ и оставляем пароль пустым. В результате создаются 2 файла - закрытый ключ и открытый с расширением .pub. Нас интересует открытый, поэтому мы открываем его в текстовом редакторе и копируем содержимое в буфер обмена:</p>
29
<p>Потом вводим путь к файлу сохранения ключ и оставляем пароль пустым. В результате создаются 2 файла - закрытый ключ и открытый с расширением .pub. Нас интересует открытый, поэтому мы открываем его в текстовом редакторе и копируем содержимое в буфер обмена:</p>
30
vi /home/sergiy/.ssh/id-gitlab<p>Потом возвращаемся GitLab-интерфейсу, кликаем по иконке профиля и выбираем настройки Settings:</p>
30
vi /home/sergiy/.ssh/id-gitlab<p>Потом возвращаемся GitLab-интерфейсу, кликаем по иконке профиля и выбираем настройки Settings:</p>
31
<p>Потом ищем на левой панели пункт SSH Keys. Далее находим Key и вставляем в соответствующее поле скопированный ключ. Всё, осталось лишь сохранить изменения.</p>
31
<p>Потом ищем на левой панели пункт SSH Keys. Далее находим Key и вставляем в соответствующее поле скопированный ключ. Всё, осталось лишь сохранить изменения.</p>
32
<p>Теперь возвращаемся в репозиторий, находим кнопку Clone (правый верхний угол) и кликаем по ней. Интересует адрес Clone with SSH:</p>
32
<p>Теперь возвращаемся в репозиторий, находим кнопку Clone (правый верхний угол) и кликаем по ней. Интересует адрес Clone with SSH:</p>
33
<p>Возвращаемся в локальный репозиторий, удаляем https, добавляем ssh:</p>
33
<p>Возвращаемся в локальный репозиторий, удаляем https, добавляем ssh:</p>
34
git remote remove origin git remote add origin git@gitlab.com:losst/test-repo.git<p>На этом настройка ssh в GitLab закончена. С этого момента все действия выполняются по SSH, поэтому вводить логин и пароль не потребуется.</p>
34
git remote remove origin git remote add origin git@gitlab.com:losst/test-repo.git<p>На этом настройка ssh в GitLab закончена. С этого момента все действия выполняются по SSH, поэтому вводить логин и пароль не потребуется.</p>
35
<h3>5. Ветки репозитория</h3>
35
<h3>5. Ветки репозитория</h3>
36
<p>Давайте посмотрим, как использовать GitLab при работе с ветками. По умолчанию репозиторий имеет лишь<strong>master-ветку</strong>. Однако разработку можно выносить и в отдельные ветки, что позволит реализовать дополнительные функции.</p>
36
<p>Давайте посмотрим, как использовать GitLab при работе с ветками. По умолчанию репозиторий имеет лишь<strong>master-ветку</strong>. Однако разработку можно выносить и в отдельные ветки, что позволит реализовать дополнительные функции.</p>
37
<p>Ветки в GitLab-интерфейсе отображаются слева:</p>
37
<p>Ветки в GitLab-интерфейсе отображаются слева:</p>
38
<p>Для создания новой, кликаем по значку + и выбираем New branch. Также, если вы создадите ветку в git, а потом зальёте в репозиторий изменения, ветка появится там автоматически.</p>
38
<p>Для создания новой, кликаем по значку + и выбираем New branch. Также, если вы создадите ветку в git, а потом зальёте в репозиторий изменения, ветка появится там автоматически.</p>
39
<p>Если ветку по умолчанию нужно изменить, открываем настройки репозитория (Settings -> Repository), где выбираем нужную ветку в разделе Default branch:</p>
39
<p>Если ветку по умолчанию нужно изменить, открываем настройки репозитория (Settings -> Repository), где выбираем нужную ветку в разделе Default branch:</p>
40
<h3>5. Слияние веток</h3>
40
<h3>5. Слияние веток</h3>
41
<p>Иногда возникает необходимость выполнить слияние веток. Для этого используют Merge request gitlab -<strong>запросы слияния</strong>. Продемонстрируем это на ветке new-feature, где создадим файл new-feature с текстом:</p>
41
<p>Иногда возникает необходимость выполнить слияние веток. Для этого используют Merge request gitlab -<strong>запросы слияния</strong>. Продемонстрируем это на ветке new-feature, где создадим файл new-feature с текстом:</p>
42
git checkout -b new-feature vi new-feature.txt New feature with change git add new-feature.txt git commit -m "add feature" git push --set-upstream origin new-feature<p>Если мы после этого перейдём в новую ветвь с помощью интерфейса GitLab, мы увидим появившуюся кнопку Create merge request. Естественно, нажимаем:</p>
42
git checkout -b new-feature vi new-feature.txt New feature with change git add new-feature.txt git commit -m "add feature" git push --set-upstream origin new-feature<p>Если мы после этого перейдём в новую ветвь с помощью интерфейса GitLab, мы увидим появившуюся кнопку Create merge request. Естественно, нажимаем:</p>
43
<p>Тут пишем описание Merge Request, выбираем ветку-цель и ветку-источник. Кроме того, можно выбрать пользователя, который получит уведомление о созданном запросе.</p>
43
<p>Тут пишем описание Merge Request, выбираем ветку-цель и ветку-источник. Кроме того, можно выбрать пользователя, который получит уведомление о созданном запросе.</p>
44
<p>Теперь запрос на слияние следует одобрить. Посмотреть изменения можно через терминал или, нажав кнопку Open IDE. Чтобы слить ветки, осталось нажать кнопку Merge.</p>
44
<p>Теперь запрос на слияние следует одобрить. Посмотреть изменения можно через терминал или, нажав кнопку Open IDE. Чтобы слить ветки, осталось нажать кнопку Merge.</p>
45
<h3>7. Добавление пользователей</h3>
45
<h3>7. Добавление пользователей</h3>
46
<p>В GitLab можно работать с командой, добавляя неограниченное число разработчиков.</p>
46
<p>В GitLab можно работать с командой, добавляя неограниченное число разработчиков.</p>
47
<p>Настройка проста: - открываем Settings ->Members; - в поле Select members to invite вводим никнеймы либо адреса электронной почты тех, кого приглашаем; - в поле Choose a role permission выбираем уровень их доступа; - нажимаем Add to project.</p>
47
<p>Настройка проста: - открываем Settings ->Members; - в поле Select members to invite вводим никнеймы либо адреса электронной почты тех, кого приглашаем; - в поле Choose a role permission выбираем уровень их доступа; - нажимаем Add to project.</p>
48
<h3>8. Удаление проекта</h3>
48
<h3>8. Удаление проекта</h3>
49
<p>Настройки для удаления проекта с Gitlab: - открываем Settings -> General -> Advanced; - выбираем и нажимаем Remove Project внизу страницы; - вводим имя проекта, который нужно удалить.</p>
49
<p>Настройки для удаления проекта с Gitlab: - открываем Settings -> General -> Advanced; - выбираем и нажимаем Remove Project внизу страницы; - вводим имя проекта, который нужно удалить.</p>
50
<h2>Послесловие</h2>
50
<h2>Послесловие</h2>
51
<p>В нашей статье мы вкратце разобрали, как пользоваться GitLab при разработке софта. Однако это далеко не все возможности, которые предоставляет данный сервис. И совершенно неслучайно GitLab сегодня называют<strong>полноценной альтернативой GitHub</strong>. Впрочем, что выбирать, GitHub или GitLab, - решать вам.</p>
51
<p>В нашей статье мы вкратце разобрали, как пользоваться GitLab при разработке софта. Однако это далеко не все возможности, которые предоставляет данный сервис. И совершенно неслучайно GitLab сегодня называют<strong>полноценной альтернативой GitHub</strong>. Впрочем, что выбирать, GitHub или GitLab, - решать вам.</p>
52
<p>При подготовке статьи использовались материалы из следующих источников:<em><a>https://losst.ru/kak-polzovatsya-gitlab</a>;</em><a>https://serveradmin.ru/ustanovka-i-nastroyka-gitlab/?pdf=7240</a>.</p>
52
<p>При подготовке статьи использовались материалы из следующих источников:<em><a>https://losst.ru/kak-polzovatsya-gitlab</a>;</em><a>https://serveradmin.ru/ustanovka-i-nastroyka-gitlab/?pdf=7240</a>.</p>
53
53