2009-08-21 11 views
9

Mi base de código se está volviendo bastante grande y es difícil organizar todas las ramas diferentes usando solo directorios, me preguntaba ¿cuál sería un sistema de control de versiones decente para mi propio uso personal que funciona (sin problemas) en Windows?¿Cuál es la mejor solución de VCS para Windows?

PD: No estoy buscando VCS alojados como GitHub, SourceForge o Google Code.

Respuesta

9

Si está configurando algo solo para usted, un sistema de control de versiones DVCS (d para distribuido) será mucho más fácil de configurar que Subversion. (Editar: estoy corregido, TortoiseSVN facilita la configuración de un repositorio. Aun así, iría con un DVCS a menos que ya conozca SVN y quiera seguir con él. Los problemas son menores para los proyectos más pequeños, y si lo estoy usando en más de una máquina, todo está respaldado en ambos en caso de problemas de HD.)

Cualquiera de Git, Mercurial y Bazar son buenas elecciones en general. Git en Windows todavía no tiene un cliente nativo, aunque hay unos que funcionan decentemente a través de emuladores, así que no me iría con eso. Mercurial es bastante fácil de instalar en Windows (con TortoiseHg para la integración de shell si lo deseas), y creo que Bazar también lo es. Yo iría con Mercurial over Bazaar si no lo supiera y elegiría uno simplemente porque es más utilizado.

This SO question es sobre Git/Mercurial/Bazaar en Windows.

+2

En Windows, no puede ser mucho más fácil que hacer clic con el botón derecho> Hacer repositorio aquí ... –

+9

IMHO Git no sería la mejor solución para Windows. –

+0

Thomas: gracias, actualizado. –

-7

SourceSafe funciona razonablemente bien para proyectos individuales. Subversion también es un producto sólido y gratuito, pero un poco más difícil de configurar que VSS. Si quiere ganar algo de efectivo y tener la mejor experiencia con Visual Studio, Team System también es una opción.

+1

en Windows. Si descarga TortoiseSVN, tiene todo lo que necesita para configurar y ejecutar un servidor en Windows. –

+0

Oh genial. No he usado SVN en años, y en ese momento era una especie de dolor. – TheHurt

+0

Sí. Es realmente fácil. De hecho, me sorprendió lo fácil que era. –

0

¿Está planeando usar un servidor externo o ejecutar el servidor en la misma máquina?

Si planea utilizar un servidor externo, recomendaría Mercurial. El sistema distribuido le permitirá ramificar y seguir registrando incluso si no tiene acceso al servidor (por ejemplo, está escribiendo código en una computadora portátil y no está en la red con el servidor VCS).

Si usted está planeando sobre el uso de la misma máquina, lo recomiendo Subversion. Tiene un sólido soporte de Windows y aún no me ha decepcionado.

+0

No, todo esto sería solo local. –

+0

Lo siento por tal vez hacer una respuesta tan básica (soy relativamente nuevo en CVS), pero ¿TortoiseSVN haría todo lo necesario (actuaría como un "cliente" y un "servidor")? –

+0

La forma en que lo tengo configurado (y no estoy seguro de si era una opción cuando instalé o no), pero puedo usar Tortoise para crear y mantener el trabajo "del lado del servidor" de un repositorio. –

2

Si usted está planeando sobre el uso de ramas un poco, sin duda recomendaría mantenerse alejado de SourceSafe. De hecho, manténgase alejado del período SourceSafe.

He usado SVN, git y Sourcesafe en un entorno de producción y prefiero los dos anteriores a través de Sourcesafe. Es demasiado torpe para mi gusto y tiende a ir por sí mismo y hacer cosas al azar. Entonces necesitas la integración de Visual Studio y eso es solo un dolor de cabeza.

SVN es simplemente agradable y un poco funciona la mayor parte del tiempo. Las últimas versiones admiten una fusión de un clic con comentarios de una rama a otra, algo que faltaba antes.

Git es mucho más rápido, que es las sorprendentemente rápido de hecho. La curva de aprendizaje es bastante empinada y estarías mirando y compilando documentación y me pregunto qué diablos está tratando de decirte mucho.

+1

+10 por ** Mantente alejado de SourceSafe **. Período. – sbi

0

Soy un gran fan de Sourcegear Vault. Los gastos generales de infraestructura son un poco más altos (requiere SQL Server Exrpess o superior), pero proporcionan una licencia de usuario único gratuita y puede obtener una buena asistencia si la necesita.

1

Perforce es un VCS comercial excelente que he usado durante más de 10 años. Tiene capacidades de bifurcación y fusión especialmente buenas. Lo uso internacionalmente a través de una VPN sin problemas.

Sin una licencia que tiene un límite de 2 usuarios (ideal para uso personal/proyectos pequeños) de lo contrario cuesta $$$

+0

¿Por qué fue downvoted sin comentarios? Uso Perforce en el trabajo, y aunque no utilizaría para mi uso personal (prefiero DVCS), considero que es un buen VCS, con una excelente GUI y una buena integración de Windows. Así que equilibré el voto negativo ... :-) – PhiLho

+0

Sí, aunque yo no lo usaría yo mismo, tiene que haber algo de valor en el uso de un software tan costoso si puede hacerlo de forma gratuita. Después de todo, Perforce es lo que usan los propios Microsoft (o antes de que la policía de alimentos para perros supuestamente comenzara a insistir en que usen el TeamFrustration ... es decir, la línea de productos "Foundation") – Deltics

4

Subversion

  • Su popular y tiene una gran comunidad.
  • La ramificación y etiquetado es fácil.
  • Su fuente gratuita y abierta.

También, descargar TortoiseSVN, le da una interfaz gráfica agradable y tiene la integración shell de Windows para que pueda hacer clic derecho sobre los archivos y carpetas en el Explorador y realizar operaciones de control de versiones.

+1

+1 gotta luv da turtle – kenny

+1

+1 subversiones excelente los clientes (particularmente TortoiseSVN) son una verdadera victoria en Windows. -1 Después de algunas semanas usando git, mercurial, bzr o similar, nunca volveré a pensar en el soporte de bifurcación de Subversion como "fácil" - o para el caso "eficiente" – bendin

+0

Agregue el Servidor VisualSVN si quiere un "verdadero" basado en Apache "Servidor SVN con toda la facilidad de uso de Tortoise. – Deltics

3

De sus selecciones, todo lo que no sea git es bueno para Windows. Pero debido a que solo lo está utilizando para usted, algo que está centralizado como VSS y SVN puede ser demasiado como lo que necesita para configurar un repositorio separado. Así que ahora están abajo para Bazar y Mercurial entonces.

En mi humilde opinión estos dos son realmente buenos si está trabajando en solitario. La diferencia entre estos dos es el rendimiento y flujo de trabajo que soporta:

Bazar

Puede configurar bazar para soportar cualquier tipo de flujo de trabajo que desea. Puede hacer que funcione con un flujo de trabajo centralizado como SVN y tener múltiples ramas en un repositorio o puede distribuirlo como cualquier otro DVCS.

Mercurial

No se puede tener múltiples ramas físicas bajo un repositorio con Mercurial como SVN o bazar, pero lo bueno de mi humilde opinión voluble es la interfaz de usuario sencilla que es muy sencillo y el rendimiento que es más rápido que bazar (aunque bazar es cada vez más rápido en su reciente lanzamiento).


¿Entre la elección de estos dos, debe limitarse a cuál es su principal prioridad? Rendimiento o flujo de trabajo?

+3

"No se pueden tener múltiples ramas físicas debajo de un repositorio con Mercurial como SVN o bazar" - ¿Qué? 'hg branch newbranch'? –

+0

Creo que la velocidad de Mercurial para proyectos personales pequeños y medianos no se notará en comparación con bzr. bzr 2.0 se lanzará en septiembre de 2009 y los desarrolladores bzr afirman que funciona tan rápido como hg. – bialix

+0

No existe tal cosa como "hg init-repository" en mercurial. Entonces no puedes tener múltiples ramas físicas debajo de un repositorio en mercurial. –

3

darle una oportunidad a Plastic SCM:

  • ramificación excelente y la fusión (incluido el pleno cambio de nombre y por artículo trazabilidad)
  • muy fuertes opciones de visualización: explorador de ramas, 3D version tree, estadísticas
  • distribuido (probablemente el solo DVCS que es totalmente gráfico y está diseñado para funcionar en Windows)
  • Compatibilidad con múltiples bases de datos: MySQL, SQL Server, Oracle, Firebird ...
  • totalmente integrado dentro de Visual Studio
  • Los servidores se pueden ejecutar en cualquier lugar (Linux, Mac, Windows)
  • soporte de archivos enorme
No
Cuestiones relacionadas