Es una buena idea tener algún tipo de repositorio central, porque le permitirá compartir código, pero también tiene una sucursal en algún lugar donde puede generar directamente sus compilaciones/exportar sus instantáneas. Ese servidor probablemente tendrá más de una rama, una de las cuales se considera una rama 'troncal'. Todas las versiones anteriores tendrán su propia sucursal y, dependiendo de la jerarquía de su equipo (es decir, si está dividido en grupos con cada grupo trabajando en un aspecto de la aplicación), puede haber sucursales basadas en equipos o funciones, aunque si No trabaje de esa manera que no sea necesario.
Por supuesto, debido a que se distribuye, cada desarrollador también tendrá su propio repositorio local, para hacer que las cosas sean agradables y rápidas. O pueden tener varios repositorios, incluso. Por ejemplo, un desarrollador que le gusta trabajar durante el trayecto puede tener un repositorio en su estación de trabajo y otro en su computadora portátil, con ramas en su computadora portátil que están "desprotegidas" de las que están en su estación de trabajo. Depende de él. Supongo que la parte 'distribuida' hace que este tipo de cosas sea mucho más fácil, porque puedes comprometer e incluso ramificar mientras estás fuera de la red.
Si está realizando la transición de un VCS no distribuido, puede simplemente deslizarse directamente al mismo modelo que antes, porque un DVCS es lo suficientemente flexible como para funcionar de la misma manera. De lo contrario, puede comenzar con un único repositorio central con algunas ramas, y siempre es muy fácil crear más repositorios y ramas más adelante.
Una última cosa es que todavía necesita copias de seguridad. El hecho de que varios desarrolladores tengan copias de la misma cosa agrega redundancia, pero no es en lugar de copias de seguridad.
El DVCS que uso regularmente es Bazar. También probé Mercurial.