Перейти к содержанию

Фиксация изменений и отправка в удаленный репозиторий GitLab

Материал из Химсофт Вики

Для контроля вносимых в документацию изменений и их публикации на GitLab используется система контроля версий GIT.

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

Алгоритм работы с GIT

  1. Создаётся отдельная ветка, в которой будет работать только один разработчик документации.
  2. Если работа производится в уже существующей ветке, то подгружается актуальная документация из удалённого репозитория в ветку main из которой добавляются изменения, внесённые другими пользователями, в текущую рабочую ветку.
  3. Изменения в документации подготавливаются к фиксации - все, либо выборочно (добавляются в индекс).
  4. Изменения фиксируются (делается коммит) с кратким описанием.
  5. Зафиксированные изменения публикуются на GitLab.

Создание отдельной ветки

В GIT новую ветку можно создать из любой другой, но в данной инструкции рассмотрен случай, когда все ветки создаются из одной главной - main.

В нижнем левом углу выберите ветку (по умолчанию это обычно main или master).

Нажмите на название ветки и выберите Создать новую ветвь.

Введите название новой ветки и подтвердите создание, нажав Enter.

После подтверждения создания ветки произойдёт автоматическое переключение на неё.

В новой ветке будут все изменения (коммиты) ветки, из которой она создавалась

Работа с существующей веткой

Если необходимо внести изменения в уже существующую ветку, созданную из главной (main):

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

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

Подгрузка актуальных изменений

Необходимо переключиться на ветку main (предварительно зафиксировав внесённые в свою ветку изменения):

  • нажать на название текущей ветки в левом нижнем углу экрана ;
  • нажать на название ветки и выбрать main из списка вверху посередине экрана;
  • нажать на Git Graph и Fetch From Remote как показано на рисунке ниже.

Слияние текущей рабочей ветки с main

Переключитесь на рабочую ветку аналогично п.3.1.1.1. Затем в разделе Git Graph найдите последний коммит ветки main вверху появившегося списка коммитов и через контекстное меню, вызванное ПКМ произведите слияние с веткой main:


Разрешение конфликтов при слиянии

В процессе слияния рабочей ветки с main могут возникнуть конфликты, в случае если в двух разных ветвях (например main и readme-develop) были зафиксированы изменения в одном и том же файле.

При этом появится сообщение, в котором указаны файлы с конфликтующими изменениями:

Файлы, в которых возник конфликт подсвечиваются красным цветом в проводнике. Далее разрешаются конфликты для каждого файла после нажатия на кнопку Разрешить в редакторе слияния. GIT предложит принять изменения либо из рабочей ветки, либо из той, которая сливается с рабочей, либо принять изменения из обоих веток.

После разрешения всех конфликтов производится фиксация изменений (коммит), см. п.3.2, 3.3

Подготовка изменений к фиксации

После внесения изменений в документы, откройте вкладку "Система управления версиями" (значок с тремя точками и линиями). Здесь располагается список изменённых файлов. Чтобы добавить изменения в индекс, нужно нажать знак «+» рядом с каждым файлом (или напротив "Изменения", чтобы добавить все файлы сразу).

Создание коммита

После добавления изменений в индекс в поле ввода "Сообщение" вверху вкладки "Система управления версиями" пишется краткое описание изменений (например, "Добавлена глава..."). Нажмите на синюю кнопку "Фиксация" для фиксации изменений (коммит).

Публикация изменений на GitLab

После создания коммита нажмите на кнопку "Опубликовать ветку" если рабочая ветка ранее не публиковалась на gitlab или "Синхронизировать изменения", чтобы загрузить изменения в существующую ветку Эта кнопка отправит изменения на удалённый репозиторий GitLab.