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