---
# System prepended metadata

title: GIT GUT!

---


# GIT GUT!


### 1. Проработка и обсуждение задачи
Проработка задач, выяснение и обсуждение деталей ведется как и раньше на форуме. Тут ничего не меняется.

### 2. Начало разработки
Создаем новую ветку в git и начинаем писать код в ней. дать ссылу на репу


### 3. Где можно разрабатывать и тестировать код
Есть несколько вариантов:
- **Sys-dev**. Новый код можно тестировать на sys-dev точно так же как и раньше, залив его через rsync, deploy, шторм etc

- **Три стенда**. Собрать можно джобой https://jenkins-hg.x340.org/job/pipelines/job/k8s-three-stends/

- **JustTry** стенды. Для каждой ветки можно создать свой стенд. Если стенд еще не создавался для ветки то идем `CI/CD -> Pipelines -> Run Pipeline`, выбираем ветку, указываем необходимые параметры и нажимаем `Run pipeline`. При push в ветку стенд обновится автоматически.
![](https://i.imgur.com/bfV7tVe.png)



### 4. Commit, Push, Merge Request

После того как код написан, проверен и сделан push -- можно делать merge request.

Старайтесь коммитить код осмысленными кусками - это упростить его ревью в дальнейшем. 


### 5. Код-ревью, исправление замечаний, общие комментарии к коду


Как и раньше создаем КР в задаче на форуме, указав ссылку на merge request.
Процесс ревью может проходить на форуме или в gitlab, внутри merge request. 

### 6. Релиз
После того как ревью пройдено, добавляем кнопку релиз в задаче (через "добавить дифф", указав ссылку на merge request). Перед добавлением ссылки произойдет проверка на возможность сделать merge. Если все ок - кнопка добавится и можно запускать релиз.

Смотрим на кибаны и мониторим ошибки.

### 7. Откат
Если во время релиза **что-то пошло не так**, то есть два варианта:
- Исправить ошибку и выкатить fix (если это быстро и безболезненно)
- Откатить изменения и спокойно найти и починить проблему. Для этого заходим в список merge request, находим свой (во вкладке Merged) и нажимаем кнопку `Revert`. Она создаст новый MR, обратный к исходному и дальше запускаем его как в п.6. 

![Как откатить](https://i.imgur.com/aWZsnyi.png)



---



# FAQ

### Я не знаю git. Что мне можно почитать?
 - Отличная книга https://git-scm.com/book/ru/v2
 - Шпаргалка по командам https://training.github.com/downloads/ru/github-git-cheat-sheet/
 - Gitflow https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow

### У меня есть куча веток с кодом в trac над которым я еще работаю. Он пропадет?

SVN и trac не выключаются и будут доступны для чтения столько, сколько нужно. Код можно очень просто перенести через unified diff (есть внизу любого диффа из trac). Полученый файл применить как patch в Шторме в новой ветке из git.

![](https://i.imgur.com/Fam7MMj.png)


### История коммитов и блейм - все потеряется?
Мы перенесли все коммиты в git и все сохранилось - можно будет блеймить так же как и раньше.