control de versiones para equipo pequeño [cerrado]

13

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.

prasonscala
fuente
Pruebe SVN tortoisesvn.tigris.org Este es el mejor 4 usted.
Vijesh V.Nair
¿Qué quieres escribir y qué plataforma?

Respuestas:

30

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 .

dukeofgaming
fuente
1
+1 para esa increíble guía de Joel Spolsky. Buena cosa. Además, incluso si ahora eres muy pequeño, como dice @dukeofgaming, ya no tiene sentido comenzar de forma centralizada. Incluso si solo estás planeando un poco por delante.
Mark Freedman
Para proyectos que se preocupan por la libertad del software, gitorious es probablemente mejor que github.
Lars Wirzenius
@Lars: ¿Qué quieres decir con "libertad de software"?
Richard Ev
55
Incluso como desarrollador solitario, Mercurial tiene mucho sentido.
Oliver Weiler
Amén @ Método Helper, así es como comencé a usarlo
dukeofgaming
4

el que todos usarán consistentemente

[personalmente, me gusta Mercurial]

Steven A. Lowe
fuente
15
Mientras no sea SourceSafe.
Robert Harvey
4

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.

desaparecido en combate
fuente
Desde mi experiencia limitada con Git: si estás en una plataforma de Windows, las herramientas de Git aún no están listas para el horario estelar. Quédate con Mercurial (o horno). En otras plataformas, Git probablemente esté bien.
Mark Freedman
1
Msysgit funciona bien si está familiarizado con un indicador de Shell.
@ Mark ciertamente tienes razón si la gente no quiere la línea de comando. Sin embargo, la línea de comando de Git (con un shell como señala Thorbjorn) está bien. Solo programo en Windows y estoy usando Git para proyectos VS. Sin embargo, no hay nada que se acerque a TortoiseSVN y AnkhSVN para Git.
MIA
1

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.).

Mnementh
fuente
1

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.

Coyote21
fuente
1

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.

Konstantin Petrukhnov
fuente
1

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.

Fortyrunner
fuente
0

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.

Inca
fuente