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.

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

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

Создание патча для модуля Drupal

Декабрь 4, 2017 г.

В Drupal для решения ваших задач вы подбираете contributed модули. Отлично, если модуль поддерживается автором, в нем нет багов и есть нужный вам функционал. В противном случае, вы, возможно, правите модуль и используете его для себя. Но, наверное, было ...

Читать

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

Август 23, 2018 г.

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

Читать

GIT: перестать отслеживать файл или папку

Сентябрь 10, 2025 г.

Иногда в процессе разработки возникает ситуация, когда файл или целая директория уже добавлены в репозиторий, но их больше не нужно отслеживать. Например: вы по ошибке закоммитили файлы логов или временные данные; в проекте появилась папка с кэшем; ...

Читать

Получить в git список измененных файлов

Июль 26, 2017 г.

Небольшая шпаргалка по git. Файлы измененные с момента последнего коммита, т.е. текущие изменения, можно вывести командой [crayon-695eb7885a454690196931/] Вы увидите два списка изменений - файлы, которые добавлены в commit и список unstaged changes ...

Читать
 

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

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



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