Мы используем Mercurial, имея локальные репозитории на каждой из наших рабочих станций и вытягивая / отправляя на сервер разработки.
Это звучит хорошо для меня. Моя команда примерно вдвое больше, и она прекрасно работает.
Я не уверен, что это лучший рабочий процесс, так как легко забыть нажать Push после коммита,
Вам не нужно нажимать после каждого коммита; Вы нажимаете, когда хотите нажать. Это большая идея о DVCS: что Commit и Push различны!
и 3 способа конфликта слияния могут вызвать настоящую головную боль.
Вы много работаете над одними и теми же строками кода? В моей команде из 5-6 программистов, которые нажимают / вытягивают несколько раз в день и совершают до пары десятков раз в день, я не могу вспомнить, когда в последний раз мне приходилось вручную разрешать конфликты слияния. Конечно, не в прошлом месяце или двух.
Есть ли лучший рабочий процесс, который мы могли бы использовать, так как я думаю, что сложность распределенного VC перевешивает преимущества на данный момент.
Возможно, вам следует описать свой рабочий процесс более подробно, потому что единственная сложность, связанная с централизованным управлением версиями, с которой я сталкиваюсь в обычный рабочий день, - это, возможно, одна команда, и преимущества огромны. Выполнение "hg вины" только один раз экономит мне больше времени по сравнению с централизованной версией, чем все "hg push", которые мне приходилось печатать весь год!