Я согласен со всеми остальными, насколько это возможно, регистрироваться рано и часто (это не всегда возможно). Если вы делаете что-то сложное и новое, это может быть сделано в ветке - применяется то же правило, выполняйте коммит рано и часто, и где ваша ветка актуальна и практична с помощью кода из головы.
По нашему опыту, по большей части люди склонны работать не над одним и тем же файлом или хотя бы над одной и той же частью файла одновременно (в VSS вы не могли , поэтому ваши рабочие шаблоны вероятно, уже поддержит вас в этом).
Еще одна ключевая вещь - убедитесь, что все используют одинаковые правила для использования табуляции / пробелов, для разметки и для форматирования. В любом случае, это хорошая практика, но чем последовательнее вы, тем меньше вероятность, что вы найдете "различия "между файлами кода, которые на самом деле не существуют.
Кроме того, я бы порекомендовал вам взглянуть на непрерывную интеграцию, то есть наличие сервера сборки, это дает значительные преимущества с точки зрения уверенности в том, что ваш зафиксированный код будет создаваться в «чистой» среде и, если вы подходящим образом оснащены тестами, даст вам уверенность в том, что он все еще работает - даже после сложного процесса слияния.
Мы используем TeamCity , который мы считаем превосходным, но есть и другие.