GIT workflow или как работать с проектом

Как использовать GIT, может зависеть от многих факторов, например как проходит тестирование, работает ли целая команда над проектом или один разработчик соло.

Соло разработка

Концепция работы с GIT в случае одного разработчика сводится обычно к тому, что есть одна основная ветка (main или master) и вы работаете преимущественно с ней.

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

Рано или поздно ветка возвращается в main

Мелкие фиксы, над которыми вы работаете прямо в ветке:

Работа с GIT в команде

Здесь у вас скорее всего есть несколько основных веток для разных серверов TEST — test, UAT — uat, LIVE — main.

Сервера TEST и UAT служат для тестирования, первый — для тестирования разработчиком в условиях близких к продашн, а второй — для тестирования клиентом, чтобы не пересекаться с разработчиком. Например, клиент может создать сдесь какой то элемент контента, страницу и т.п., чтобы оценить как это будет работать, не опасаясь что-либо сломать или что это будет опубликовано.

Когда один из разработчиков приступает к работе над своей фичей (тикетом), он отпочковывает ветку от main. Обычно при этом ветке присваевается какое то наименование, связанное с используемой системой нумерации тикетов. По мере готовности ветка мерджится в test, uat.

Если фичу (тикет) решили задеплоить с прочими готовыми тикетами на LIVE, то обычно собирают все нужные тикеты в одну промежуточную ветку и мерджат уже её в main. Последний шаг зависит от того как устроен деплоймент. Если изменения main ветки приводят к автоматическому деплойменту, то использование промежуточной ветки неизбежно.

После деплоймента делают merge из main в текущие ветки, а также в test и uat. Ветки тикетов, которые ушли в продакшн, удаляются, т.к. в них работа больше не ведется. На дополнения и баг фиксы создаются новые тикеты, и, соотвественно, работа с ними будет вестись в других ветках.

В чем суть такой работы с ветками?
Гибкость деплоймента. В продакшн попадают только те тикеты, которые готовы и были одобрены для деплоймента. Т.к. все они стартовали с main, то они легко возвращяются обратно в main.

Коллизии, конечно могут быть, но они решаются на стадии слияния в промежуточной ветке перед деплойментом.

Мало букафф? Читайте есчо !

Как сравнить два произвольных файла не включенных в репозиторий средствами git diff

Июль 1, 2022 г.

Утилита Git diff может сравнивать не только изменения между ветками, но и вообще произвольные объекты файловой системы, которые даже не включены в репозиторий. ...

Читать

GIT может хранить пароли

Сентябрь 30, 2017 г.

Операции с удаленным частным репозиторием требуют ввода пароля. Git может сохранять введенные пароли, чтобы не вводить их при каждой операции. Как это сделать? Во-первых, git может запомнить введенный пароль временно. Это позволит выполнить ряд ...

Читать

Организуем автодеплой изменений из репозитория для проекта на Drupal

Август 23, 2018 г.

Когда над проектом работает несколько разработчиков, то возникают определенные структурные и организационные вопросы. Каждый программист обычно работает ...

Читать

Git pull с передачей логина и пароля

Декабрь 11, 2021 г.

Репозиторий почти всегда требует реквизитов доступа. И, если вы их не храните в локальной конфигурации, то скрипты, содержащие git pull, будут прерываться, запрашивая пару логин/пароль. Передать реквизиты с отдельным ключом нельзя, но можно задать ...

Читать
 

Комментарии к «GIT workflow или как работать с проектом»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: