Содержание:
- Порядок действий при работе с Git
- Почему все так нужно делать?
- Важные аспекты для стабильной работы
- Часто встречаемые ошибки при работе с Git
Порядок действий при работе с Git
- Получить/создать задачу в Jira
- Поменять статус задачи в Jira из статуса в "К выполнению" в статус "В работе"
- Клонирование необходимого репозитория. Или Pull Стать на исходную ветку (Получить актуальное состояние ветки)
- Create branch Создать рабочую ветку (Для своих изменений)
- Выполнить задачу Сделать необходимые изменения
- Commit Сделать коммит этих изменений в созданную ветку
- Merge branches Влить в исходную ветку свою созданную (Что бы убедиться в актуальности и отсутствии конфликтов) При необходимости сделать новый коммит
- Push Отправить рабочую ветку в GitLab
-
Create Merge Request Создать запрос на слияние (ВАЖНО! указать в тайтле MR через пробел номер задачи из Jira > Пример:
SHP-111 Add new Service
)
ВАЖНО! в тайтле MR указать через пробел номер задачи из Jira > Пример:
SHP-111 Add new Service
ВАЖНО! Указать проверяющего (Reviewer) в MR
При большом количестве изменений рекомендуется создавать несколько MR, или же разбить задачу на подзадачи
- Убедиться в успешности сборки проекта с новыми изменениями (Результат проверки слияния будет отображен на главной странице MR / )
Reviewer смотрит Merge Request ТОЛЬКО КОГДА РЕЗУЛЬТАТ СБОРКИ - SUCCESS
Почему все так нужно делать?
Важные аспекты для стабильной работы
-
Рекомендуется писать осмысленный текст коммита, что бы было понятно для чего он сделан.
Пример:SHP-112 Удален TChart и Jedi components
Код задачи в Jira (SHP-112) и описание изменений (Удален TChart и Jedi components) -
При изменении во вложенных сабмодулях (т.е. сабмодулях второго уровня) необходимо передвигать хеш для родительского репозитория (На данный момент исключением является
ThirdParty
)
Часто встречаемые ошибки при работе с Git
bad line length character
Ошибка "git" pull --progress "origin"
fatal: protocol error: bad line length character: git@
Несмотря на неочевидность данного сообщения - данное сообщение говорит о том, что вы не авторизованы в GitExtension
-
Решение 1. Загрузить ключ через форму клонирования:
В главном меню GitExtension выбрать "Начало" -> "Клонировать репозиторий" -> "Загрузить SSH ключ".
Найти ключ ppk в директории куда он был сохранен (обычно этоC:\Users\USERNAME\.ssh
).
Ввести пароль для ключа. -
Решение 2. Воспользоваться Putty агентом:
После установки GitExtinsions, в панели состояния должен появится агент.
В нём необходимо добавить свой ключ SSH при помощи пароля.
Could not read from remote repository
Ошибка Cloning into 'D:/Shop/RootRepo'...
remote:
remote: ========================================================================
remote:
remote: The project you were looking for could not be found or you don't have permission to view it.
remote:
remote: ========================================================================
remote:
fatal: Could not read from remote repository.
Ошибка говорит о том, что у пользователя нет прав на репозиторий или сабмодуль репозитория
- Решение. обратиться к администратору или владельцу репозитория для предоставления прав.