Я не гуру git, мб есть способы и по-проще, но как бы я делал: создавал бы отдельную ветку под merge request(дизайнеру дать простенький скрипт для этого).
Т.е. есть ветка dev
, дизайнер от неё делает свою ветку feature
как обычно, потом когда пришло время делать MR - скриптом делается ещё одна ветка от feature
условно вида feature_to_dev_<date>
, и уже от неё делается MR в dev
, далее:
а) есть конфликты - шлётся тебе уведомление, ты правишь конфликты и мержишь,
б) нет - автомержится и удаляется.
Дизайнер в любом случае в это время продолжает спокойно работать в своей feature
.
Обратно dev
в feature
, если надо, дизайнер вливает через простой MR, и если есть конфликты - тыкает тебя, тут уж никак без остановки работы. Но, по идее, частых конфликтов быть не должно если регулярно вливали его работу в dev
.