Estamos iniciando un nuevo equipo de muy pequeño tamaño (digamos 2-5) mi pregunta es: qué tipo de control de versión funciona mejor para este tipo de equipos, ya sea centralizado o distribuido.
version-control
prasonscala
fuente
fuente
Respuestas:
Distribuido todo el camino, realmente no tiene sentido centralizar más en mi humilde opinión, especialmente si estás hablando del desarrollo del equipo.
Otro voto para Mercurial, sin problemas para configurar en Windows y bitbucket.org tiene repositorios gratuitos (que pueden ser privados) con espacio ilimitado.
Si planea trabajar en un proyecto de código abierto, git y Github parecen ser más adecuados / populares. Sin embargo, si no se ha aventurado en los DVCS, le recomiendo que comience con Mercurial y esta increíble guía .
fuente
el que todos usarán consistentemente
[personalmente, me gusta Mercurial]
fuente
Probablemente la mejor respuesta es "con lo que te sientas cómodo". Incluso cuando trabajo en cosas personales, uso Git. Parece hacer un muy buen trabajo de escalamiento hacia arriba y hacia abajo y mi experiencia limitada con Mercurial es casi la misma.
fuente
Creo que deberías elegir lo que te resulte más cómodo. En un equipo pequeño, no tendrá diferentes árboles de código (como el kernel de Linux), por lo que un repositorio central está bien. Pero también puede tener esta configuración con VCS distribuido. Entonces iría con popularidad y experiencia personal. Popular son SVN, git y Mercurial. Debe decidir cuál de ellos se utiliza mejor con su equipo (experiencia, soporte de herramientas en su IDE elegido, etc.).
fuente
Realmente depende de si sus desarrolladores van a desarrollar mucho código fuera de línea o no, sino solo para elegir entre un repositorio distribuido o centralizado, ya que esto es lo primero que debe decidir. Entonces, si decide que un enfoque centralizado funciona mejor que SVN, es todo lo que necesita. Por otro lado, si opta por un enfoque distribuido que por git, incluso en Windows es lo suficientemente bueno ya que ahora tiene tortuga git (la misma interfaz que también existe para svn). Además, no cuente tanto con el soporte de IDE porque puede recibir una desagradable sorpresa si alguna vez usa eso, y puede encontrar que los archivos que no deberían confirmarse se comprometen en su nombre por el IDE.
fuente
Pregúntele a su equipo si alguien quiere ocuparse de eso. Es mucho mejor tener un sistema estable y una persona responsable que un buen sistema cuando a nadie le importa y ninguno puede restaurarlo desde la copia de seguridad.
Si existe esa persona, ya sabrá qué usar, así que simplemente acepte su decisión. Si no, obtenga una solución alojada. Sería muy estúpido probar GIT (uno de los mejores) si todos los desarrolladores nunca hubieran tocado Shell / Linux.
También depende del número de personas "no técnicas" que necesitan leer / contribuir. Solo asegúrese de que puedan usarlo, y hay herramientas disponibles.
fuente
SVN es ampliamente compatible con las herramientas. Las herramientas son la clave; diferentes personas tendrán diferentes conjuntos de habilidades. Algunos preferirán la línea de comandos, algunos preferirán las herramientas basadas en IDE, algunos preferirán las herramientas gráficas. Por el momento, SVN parece ser la herramienta más ampliamente compatible.
Aparte de eso Mercurial o Git.
fuente
Creo que en las pequeñas empresas hay argumentos para centralizar ciertas cosas. (Piense, por ejemplo, en el respaldo externo. Cuando solo tiene 2 personas trabajando en un proyecto y están viviendo en el mismo edificio y hay un incendio, descentralizar las dos computadoras podría no ser suficiente).
Sin embargo: tener una solución parcialmente centralizada no lo limita a un sistema centralizado. Simplemente puede empujar a un servidor externo con algo como git o mercurial.
fuente