Может показаться, что один сервер дает вам «простоту», но, как вы уже убедились, он дает вам полный хаос - и вам повезло, если он не привел к неприятным и трудно воспроизводимым Труднее исправить сбои. Не соглашайтесь на что-либо меньшее, чем «производственный» сервер (где ваш клиент может работать - только над контентом - если ему нравятся незначительные риски ;-), и «промежуточный» (где все, что от команды разработчиков идет до пройти тестирование и пробовать некоторое время, прежде чем перейти к разработке, что делается в спокойное и идеально подготовленное время).
Во-вторых, используйте систему управления версиями некоторые . Какой из них важнее, чем его использование: svn
популярно и просто, по моде (по отличным причинам) распространяются такие, как hg
и git
, Microsoft и другие имеют коммерческие предложения в этой области и т. Д. .
Дело в том, что всякий раз, когда кто-то обновляет файл, он делает это на своем собственном клиенте VCS. Когда согласованный набор изменений верен, он отправляется в VCS, и VCS диагностирует и указывает на любые «конфликты» (места, где два разработчика могли внести противоречивые изменения), поэтому разработчик, который в данный момент выдвигает ответственность, отвечает за редактирование файлов и устранение конфликтов до того, как им разрешат пройти. Только тогда «текущие версии» могут даже перейти на промежуточную систему для более тщательного (и в идеале автоматизированного! -) тестирования (или, что еще лучше, системы «непрерывной сборки»).
По сути, должно быть два уровня защиты от таких конфликтов, как вы наблюдали, и вы, похоже, не развернули ни один. Они оба важны, хотя, если бы я вынужден был выбрать по одному, я бы неохотно выбрал различие между производственными и промежуточными серверами - разработка все равно будет хаотичной (невыносимо, по сравнению с простой надежностью любого VCS! ) но, по крайней мере, это не повредит непосредственно системе , обслуживающей ; -).