Вы находитесь на странице: 1из 7

Оглавление

Общая часть.................................................................................................................................................................... 2
SSH .................................................................................................................................................................................... 2
Смена сервера в уже клонированных проектах.......................................................................... 3
Merge requests .............................................................................................................................................................. 5
Как создать мerge request .............................................................................................................................. 5
Статус "Work In Progress" ................................................................................................................................ 6
Общая часть
На сервере Adani GitLab основной протокол для передачи данных SSH.

SSH
Настройка SSH на ПК пользователя.
1. Откройте терминал в Linux или macOS или Git Bash / WSL / PowerShell в Windows.
2. Сгенерируйте новую пару ключей ED25519 SSH:
ssh-keygen -t ed25519 -C "Adani Workstation"
Флаг -C "Adani Workstation" задает комментарий, и он не обязателен.
3. Все вопросы пропускаем нажатием Enter.
4. Скопируйте ваш public ключ SSH в буфер обмена из файла ~/.ssh/id_ed25519.pub
или %userprofile%/.ssh/id_ed25519.pub (в проводнике Windows).
MacOS:
pbcopy < ~/.ssh/id_ed25519.pub
WSL / GNU / Linux (требуется пакет xclip):
xclip -sel clip < ~/.ssh/id_ed25519.pub
Git Bash / PowerShell на Windows:
cat ~/.ssh/id_ed25519.pub | clip
Вы также можете открыть ключ в графическом редакторе и скопировать его
оттуда, но будьте осторожны, чтобы случайно ничего не изменить.
5. Добавьте ваш public SSH-ключ в свою учетную запись Adani GitLab.
1. Нажмите на свой аватар в правом верхнем углу и выберите Settings.
2. Перейдите к SSH Keys и вставьте свой public ключ в поле Key. Если:
o Создан ключ с комментарием, он появится в поле Title .
o Создан ключ без комментариев, дайте вашему ключу
идентифицируемый заголовок, например, «Work Laptop» или «Home
Workstation».
3. Нажмите кнопку Add key.
6. Чтобы проверить, был ли ваш ключ SSH добавлен правильно, выполните
следующую команду в своем терминале:
ssh -T git@gitlab.adani.by -p 222
При первом подключении к GitLab через SSH вам будет предложено проверить
подлинность хоста GitLab, к которому вы подключаетесь. Ответьте yes чтобы добавить
gitlab.adani.by в список доверенных хостов.
После добавления в список известных хостов вам не будет предложено снова
подтвердить подлинность хоста GitLab. Повторите приведенную выше команду еще
раз, и вы получите только «Welcome to GitLab, @username!».
Если приветственное сообщение не появляется, запустите подробный режим
SSH, заменив -T на, -vvvT чтобы понять, где находится ошибка.

Настройки клиента SmartGit:


Edit -> Preference -> Authentication
Изменить на “Use system SSH client”

Смена сервера в уже клонированных проектах


Для работы должны быть сгенерированы SSH ключи.
1. Откройте терминал в Linux или macOS или Git Bash / WSL / PowerShell в Windows.
2. Перейти в каталог с проектом.
Просмотр текущих настроек:
git remote -v
Пример результата выполнения команды:
origin https://aserver-sdd.adani.by/git/Medical/mxPlus.git (fetch)
origin https://aserver-sdd.adani.by/git/Medical/mxPlus.git (push)
3. Удаляем старый сервер
git remote rm origin
4. Добавить новый сервер с ссылкой на проект
git remote add origin ssh://git@gitlab.adani.by:222/group/repo.git

Ссылку можно скопировать на странице проекта на сервере GitLab


5. Обновить локальный репозиторий
git fetch origin
git submodule sync
Merge requests
Если вы работаете над веткой feature уже некоторое время, можно поделиться
промежуточным результатом с остальной командой. Для этого создайте merge request,
не назначая его никому. Вместо этого, упоминайте людей в описании или комментарии,
например, “/cc @shevchenok @ablavatskiy”. Это указывает на то, что merge request еще
не готов к слиянию, но обратная связь приветствуется. Члены вашей команды могут
комментировать merge request в целом или по отдельным строкам с комментариями к
строкам. Merge request служит инструментом code review. Если при code review
обнаружены недостатки, каждый может коммитить и пушить исправление. Разница в
merge request автоматически обновляется, когда новые изменения будут запушены в
ветку feature.
Когда вы будете готовы к слиянию вашей ветки feature, назначьте merge
request. Также упомяните других людей, от которых вы хотели бы получить обратную
связь. После того, как назначенный человек удовлетворен результатом, он может
одобрить merge request. Если назначенный человек не удовлетворен результатом, он
может запросить дополнительные изменения или отклонить merge request.
В GitLab принято защищать долгоживущие ветки, например master ветку,
чтобы большинство разработчиков не могли их изменить. Итак, если вы хотите
объединиться в защищенную ветку, назначьте ваш запрос на слияние кому-либо с
правами Maintainer.
После слияния ветки feature вы должны удалить ее. В GitLab вы можете удалить
ветку при слиянии. Удаление готовых веток гарантирует, что в списке ветвей
отображается только незавершенное производство. Это также гарантирует, что если
кто-то снова откроет проблему, он может использовать то же имя ветви без
конфликтов.
Источник

Как создать мerge request


1. Перейдите к проекту, в котором вы хотите создать merge request, и нажмите
на вкладку Merge requests .
2. Нажмите на New merge request в правой части экрана.
3. После этого у вас есть возможность выбрать исходную ветвь и целевую ветвь, с
которой вы хотите сравнить. Целевым проектом по умолчанию является
репозиторий верхнего уровня, но вы можете сравнить его по любой из его
ветвей.
4. Когда будете готовы, нажмите Compare branches and continue.
5. Как минимум, добавьте заголовок и описание к вашему запросу на слияние.
6. Когда все будет готово, нажмите кнопку Submit merge request.
Источник

Статус "Work In Progress"


Если запрос на слияние еще не готов к слиянию, возможно, из-за
продолжающейся разработки или открытых потоков, вы можете предотвратить его
прием до того, как он будет готов, пометив его как Work In Progres. Это отключает
кнопку «Merge», предотвращая слияние, и будет оставаться отключенным до тех пор,
пока флаг «WIP» не будет удален.

Есть несколько способов пометить запрос на слияние как Work In Progress:


o Добавьте [WIP] или WIP: в начало заголовка merge request’а или нажмите на
«Start the title with WIP:» под полем Title при редактировании merge request’а.
o Добавьте /wip в комментарии к merge request’у. Это переключатель, и его
можно повторить, чтобы изменить статус на противоположный. Обратите
внимание, что любой другой текст в комментарии будет удален.
o Добавьте «wip» или «WIP» в начало коммита в исходной ветке merge
request’а. Это не переключатель, и повторное упоминание в другом коммите не
будет иметь никакого эффекта.
Когда merge request готов к слиянию, вы можете удалить флаг Work In Progress:
o Удалите [WIP] или WIP: в начале заголовка merge request’а или нажмите на
«Remove the WIP:» под полем Title при редактировании merge request’а.
o Добавьте /wip в комментарии к merge request’у. Это переключатель, и его
можно повторить, чтобы изменить статус на противоположный. Обратите
внимание, что любой другой текст в комментарии будет удален.
o Нажмите кнопку Resolve WIP status в нижней части описания merge request’а,
рядом с кнопкой «Merge». Для того, чтобы кнопка была видна, у пользователя
должны быть как минимум права Developer.
При поиске в списке merge request’ов можно включить или исключить merge
request’ы со статусом WIP, добавив фильтр «WIP» в поле поиска и выбрав «Да» (включить)
или «Нет» (исключить).