1. Работая над долгоживущей веткой, разработчик просто должен периодически из мастера мержить в свою ветку изменения (можно использовать ребейз или мерж). Тогда при пуше назад в мастер конфликтов либо не будет, либо будут минимальны.
2. Правильная архитектура проекта позволяет уменьшить конфликты, так как код должен быть разделен функционально, и две фичи с разным функционалом конфликтовать не должны
3. Почитайте про гит-флоу, оно не совсем об этом, но позволяет значительно улучшить вид репозитория и истории коммитов