Если вы хотите предотвратить это, вам нужно использовать инструмент управления исходным кодом, основанный на пессимистической блокировке файлов.Такой инструмент не будет работать для распределенной или большой команды разработки, и будет постоянно мешать рабочим процессам команд малого и среднего размера.Вот почему, откровенно говоря, они больше не популярны.
Также следует отметить, что ваш пример может вводить вас в заблуждение.Изменения в одном и том же файле будут объединены без конфликта, если только они оба не редактируют одну и ту же часть («кусок») кода.Конечно, изменения перекрываются (и конфликтуют), если они касаются одной и той же линии;но они также конфликтуют, если касаются соседних линий.
То есть, на практике конфликты не так распространены в большинстве проектов, и их обычно не так сложно разрешить.Затраты на разрешение случайного конфликта для большинства проектов намного меньше, чем затраты на ожидание, пока другой разработчик завершит свою работу и разблокирует нужный вам файл.
Тем не менее, выможете поискать пессимистический инструмент контроля источника блокировки, если хотите.Возможно, вы не уверены в этом, несмотря на подавляющий консенсус по этому вопросу, или, возможно, что-то в вашем проекте действительно отличается.это ", это было бы не по теме для SO, поэтому я не буду вдаваться в подробности.