Как пользоваться 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. Чтобы это сделать:
Генерируем ключ с помощью команды ssh-keygen (вводим ее в терминал).
Генератор предложит сохранить получившийся ключ. Менять директорию, куда сохраняется ключ, необязательно.
Затем утилита попросит ввести пароль. Его тоже можно не вводить. Просто жмем на Enter.
В указанной на втором этапе папке появится файл с ключом в формате .pub. В нем лежит ключ. Нужно скопировать его.
Возвращаемся на сайте GitLab. Открываем раздел SSH-keys, вставляем ключ в специально отведенное для этого поле и нажимаем на кнопку Add key.
Как работать с ветками
Ветки – это инструмент для создания дополнительных вариаций приложения/сайта, которые позволяют вести разработку новых функций, не затрагивая при этом основное приложение, доступное для пользователей.
По умолчанию в GitLab доступна только одна ветка – master. Но ее чаще используют не для разработки, а для публикации готовых сборок проекта, которые нестрашно превратить в релиз для масс.
Поэтому принято создавать новые ветки для разработки дополнительных функций, а уже потом объединять их с основной.
Как создавать ветки
Ветки – не уникальная для GitLab функция. Это часть git, поэтому, как и в случае с репозиториями, тут можно пойти тремя путями:
На сайте GitLab в окне управления репозиторием нажать на кнопку + справа от названия ветки, а потом выбрать пункт New branch в выпадающем меню.
Можно создать новую ветку через git-клиент в терминале с помощью команды
Или воспользоваться аналогичной функций в используем графическом 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
Вновь пролистываем появившееся меню до упора вниз, пока не наткнемся на кнопку Delete project.
Нажимаем на нее и вписываем название проекта, чтобы его удалить.
Вместо заключения
На этом все. Я рассмотрел базовые возможности GitLab и намеренно не затрагивал аналитические инструменты, интеграцию с Kubernetes и дополнительные функции, пытаясь сконцентрироваться на важнейших концептах GitLab и git. Это то, что вам необходимо для старта, независимо от того, пользовались вы ранее другими системами управлениями репозиториями или нет.
Git — Документация git-help
help.format
Если параметр командной строки не передан, конфигурация help.format
переменная будет проверена. Для этого поддерживаются следующие значения
переменная; они заставляют git help вести себя как соответствующая им команда-
вариант линии:
«человек» соответствует
«информация» соответствует -i|—info ,
«web» или «html» соответствуют -w|—веб .
help.browser, web.browser и browser.
help.browser
, web.browser
и browser.
также
быть проверено, если выбран формат web (либо с помощью командной строки
опция или переменная конфигурации). См. -w|—web в ВАРИАНТАХ
раздел выше и git-web—browse[1].
man.viewer
Переменная конфигурации man.viewer
будет проверяться, если человек
«человек»: используйте программу man как обычно,
«женщина»: используйте emacsclient для запуска режима «женщина» в emacs (работает только начиная с версии emacsclient 22),
«konqueror»: используйте kfmclient , чтобы открыть справочную страницу в новом konqueror. (см. примечание о konqueror ниже).
Можно использовать значения для других инструментов, если имеется соответствующий man.
запись конфигурации (см. ниже).
Конфигурация man.viewer
может иметь несколько значений
переменная. Соответствующие им программы будут опробованы в порядке
указан в конфигурационном файле.
Например, эта конфигурация:
[мужской] зритель = завоеватель viewer = woman
сначала попытается использовать konqueror. Но это может не сработать (например, если DISPLAY не установлен), и в этом случае будет опробован женский режим emacs.
Если ничего не помогает или если программа просмотра не настроена, указанная программа просмотра
в переменной среды GIT_MAN_VIEWER
будет опробована. Если это
тоже не получится, программа man все равно будет опробована.
man.
Вы можете явно указать полный путь к предпочтительному средству просмотра man,
установка переменной конфигурации man.
. Например, вы
можно настроить абсолютный путь к konqueror, установив man. konqueror.path . В противном случае git help предполагает, что инструмент
доступны в PATH.
man.
При просмотре man, указанном в конфигурации man.viewer
переменных, нет среди поддерживаемых, то соответствующий man.
Переменная конфигурации будет найдена. Если это
существует, то указанный инструмент будет рассматриваться как пользовательский
команда, и 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
- Дополнительные учебные ресурсы по 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, вы работаете с ветками . По умолчанию содержимое репозитория находятся в дефолтной ветке. Чтобы внести изменения, вы:
- Создайте собственную ветку, которая является снимком ветки по умолчанию на момент вы создаете его.
- Внесите изменения и отправьте их в свою ветку. Каждое нажатие создает коммит.
- Когда вы будете готовы, объедините вашу ветку с веткой по умолчанию.
блок-схема LR подграф Ветвь по умолчанию A[фиксация] —> B[фиксация] —> C[фиксация] —> D[фиксация] конец подграф Моя ветка Б —1. Создать мою ветку—> E(Commit) Э —2. Добавить мою фиксацию -> F (фиксация) Ф — 3. Объединить мою ветку с дефолтной —> D конец
Если все это кажется немного ошеломляющим, держитесь. Вы скоро увидите эти концепции в действии.
шагов
Вот краткий обзор того, что мы собираемся сделать:
- Создайте пример проекта.
- Клонируйте репозиторий.
- Создайте ветку и внесите свои изменения.
- Зафиксируйте и отправьте свои изменения.
- Объедините ваши изменения.
- Просмотрите свои изменения в GitLab.
Создать пример проекта
Для начала создайте образец проекта в GitLab.
- В GitLab на верхней панели выберите Главное меню > Проекты > Просмотреть все проекты .
- В правой части страницы выберите Новый проект .
- Для имени проекта введите
Мой образец проекта
. Слаг проекта генерируется для вас. Этот ярлык — это URL-адрес, который вы можете использовать для доступа к проекту после его создания. - Убедитесь, что выбран параметр Инициализировать репозиторий с помощью файла README . Как вы заполните другие поля, зависит от вас.
- Выберите Создать проект .
Клонировать репозиторий
Теперь вы можете клонировать репозиторий в свой проект. Клонирование репозитория означает, что вы создаете копию на свой компьютер или в другое место, где вы хотите хранить файлы и работать с ними.
На странице проекта выберите Clone . Скопируйте URL-адрес . Клонируйте с помощью SSH .
Откройте терминал на своем компьютере и перейдите в каталог куда вы хотите клонировать файлы.
Введите
git clone
и вставьте URL-адрес:git clone [email protected]:gitlab-example/my-sample-project.git
Перейдите в каталог:
cd my-sample-project
По умолчанию вы клонировали ветку по умолчанию для репозитория. Обычно это филиал
основной
. Чтобы быть уверенным, получите имя ветки по умолчанию:ветка git
Ветка, на которой вы находитесь, отмечена звездочкой. Нажмите
Q
на клавиатуре, чтобы вернуться к основному терминалу окно.
Создать ветку и внести изменения
Теперь, когда у вас есть копия репозитория, создайте собственную ветку, чтобы вы могли работать над своими изменениями самостоятельно.
Создайте новую ветку с именем
example-tutorial-branch
.git checkout -b пример-учебник-ветвь
В текстовом редакторе, таком как Visual Studio Code, Sublime,
vi
или любом другом редакторе, откройте файл README.md и добавьте этот текст:Привет, мир! Я использую Git!
Сохраните файл.
Git отслеживает измененные файлы. Чтобы подтвердить, какие файлы были изменены, получите статус.
статус git
Вы должны получить вывод, аналогичный следующему:
На ветке example-tutorial-branch Изменения, не подготовленные для фиксации: (используйте "git add
...", чтобы обновить то, что будет зафиксировано) (используйте «git restore ...», чтобы отменить изменения в рабочем каталоге) изменено: README.md в фиксацию не добавлено никаких изменений (используйте «git add» и/или «git commit -a»)
Зафиксируйте и отправьте изменения
Вы внесли изменения в файл в своем репозитории. Теперь пришло время записать эти изменения, сделав свой первый коммит.
Добавьте файл
README.md
в промежуточную область . Площадка — это место, где вы поместите файлы, прежде чем вы их зафиксируете.git добавить README.md
Подтвердите, что файл подготовлен:
статус git
Вы должны получить вывод, подобный следующему, и имя файла должно быть в зеленый текст.
На ветке пример-учебник-ветка Изменения, которые необходимо зафиксировать: (используйте "git restore --staged
...", чтобы отменить постановку) изменено: README.md Теперь зафиксируйте промежуточный файл и включите сообщение который описывает изменение, которое вы сделали. Убедитесь, что вы окружили сообщение двойным кавычки («).
git commit -m «Я добавил текст в файл README»
Изменение было зафиксировано в вашей ветке, но ваша ветка и ее коммиты по-прежнему доступны только на вашем компьютере. Доступа к ним пока нет ни у кого. Отправьте свою ветку в GitLab:
git push origin пример-учебник-ветвь
Теперь ваша ветка доступна на GitLab и видна другим пользователям вашего проекта.
Объедините ваши изменения
Теперь вы готовы объединить изменения из ветки example-tutorial-branch
в ветку по умолчанию ( main
).
Проверьте ветку по умолчанию для вашего репозитория.
git checkout основной
Объединить вашу ветку с веткой по умолчанию.
git merge пример-учебник-ветка
Отправьте изменения.
git push
В этом руководстве вы объединяете свою ветку непосредственно с веткой по умолчанию для вашего репозиторий. В GitLab вы обычно используете запрос на слияние чтобы объединить вашу ветку.
Просмотрите свои изменения в GitLab
Ты сделал это! Вы обновили файл README.md
в своей ветке и объединили эти изменения
в основную ветку
.
Давайте заглянем в пользовательский интерфейс и подтвердим ваши изменения. Зайдите в свой проект.
Теперь вы можете вернуться в командную строку и вернуться в свою личную ветку
( git checkout example-tutorial-branch
).