2009-06-30 6 views
5

Soy un estudiante de primer año de la universidad que desea aprender bien un sistema de control de versiones. Actualmente estoy buscando Subversion, Perforce y Surround SCM.Control de la versión de aprendizaje para un estudiante universitario de primer año

Estaría integrando el sistema con Eclipse, en una plataforma Linux. El código involucrado sería principalmente C++, Java y LaTeX (que también usaré Eclipse).

Probablemente sea el único usuario, pero la ventaja de SVN es que es de código abierto, mientras que los otros dos son de propiedad exclusiva. He escuchado muchos testimonios buenos sobre TortiseSVN, pero dado que estoy usando Linux, me estaré perdiendo de eso.

EDIT: Gracias por todas las respuestas. Por supuesto, estoy abierto a cualquier otro sistema de control de versiones también. Estaré revisando a Git y Mercurial.

Respuesta

8

Si está aprendiendo sistemas de control de versiones, definitivamente haría bien en considerar uno de los más nuevos sistemas de control de versiones "distribuidas" como Git o Mercurial. Al limitar su alcance a la generación anterior de herramientas como usted mencionó, se estará perdiendo lo que (algunas) personas realmente están usando hoy en día.

Para aprender un sistema, probablemente no recomendaría elegir una oferta comercial. Obtendrá mucho mejor soporte y documentación, de forma gratuita, con una solución de código abierto.

1

Si vas a ser el único en un proyecto, definitivamente deberías echar un vistazo a SVN. Obtenga Subclipse, un plugin de Eclipse para Subversion, y acostúmbrese a eso. Luego, pase a otros sistemas de control de versiones una vez que se sienta cómodo.

5

Si esas son sus únicas opciones, definitivamente SVN. Esa es la (de esa lista) que la gente real usa en la naturaleza.

Honestamente, sin embargo, aprenda un DVCS. Git, Mercurial, darcs, uno de ellos.

1

Me gustaría secundar (o en tercer lugar) aquellos que sugirieron Git o Mercurial (o Bazar). Los sistemas de control de versiones distribuidas no solo son buenos para proyectos con múltiples contribuyentes; Uso Git para todos y cada uno de los proyectos que empiezo, incluso si solo son desechables. Básicamente, su carpeta de desarrollo es su repositorio. Es portátil, y es fácil agregar más colaboradores y pasar luego a un flujo de trabajo centralizado más tradicional.

Recomiendo especialmente Git porque tiene una curva de aprendizaje bastante empinada, pero me ha enseñado mucho sobre gestión de proyectos, control de revisiones, cómo fusionar y parchar archivos, cómo leer la salida 'diff', etc. Realmente te permite acceder a los detalles detallados del control de versiones.

1

SVN es muy fácil de aprender. Para aquellas personas que sí usan Windows, la versión de GUI es excelente.

Incluso si está ejecutando Linux, todavía sugeriría aprendiendo porque es ampliamente utilizado en lugares tales como Google Code, Python, Wordpress, etc ...

0

Bazar es absolutamente impresionante para una sola persona, desarrollo sin servidor. La configuración tarda unos cinco minutos completos y está funcionando de inmediato. Tiene el poder de los grandes VCS ... pero es bastante fácil de usar por su cuenta.

He oído que Git y Mercurial están en la misma línea ...pero he = a solo usado Bzr.

0

Recomendaría Subversion, simplemente por su omnipresencia en proyectos de código abierto. Definitivamente hay muchas oportunidades para utilizar su conocimiento de Subversion en proyectos de código abierto, y si lo hace, aprenderá mucho sobre la codificación, el trabajo en equipo y el uso adecuado de un VCS en un equipo (que es la mitad). de aprender a usar un VCS, y es la parte difícil porque no puedes aprenderlo muy bien por tu cuenta). Menos proyectos de código abierto usan VCS propietarios, lo que significa que tendrá menos oportunidad de usarlos en el mundo real a menos que trabaje específicamente con amigos o como un trabajo. No he usado los otros dos que mencionaste, pero no tengo quejas sobre Subversion, es bastante fácil de usar.

También me gustaría recomendar un VCS distribuido, como git. Con un VCS distribuido, dado que cada participante en un proyecto tiene una copia completa del repositorio de origen y tiene control completo sobre su propia copia, significa que se le otorga una mayor flexibilidad para usar las capacidades de VCS. Descubrirá que tiene la libertad de comprometerse con la frecuencia que desee y crear nuevas sucursales cuando lo desee, lo cual es excelente cuando se realizan cambios en el código y, si es necesario, se puede volver a una versión anterior. . Un VCS distribuido le permite usar el VCS como una herramienta para ayudar a su codificación, en lugar de simplemente como una forma de almacenar y compartir su código con otros. También es muy fácil de configurar un nuevo repositorio en un VCS distribuido. Con git acaba de ejecutar git init y configurará el control de versiones en el directorio actual. ¿Qué tan fácil es eso?

Cuestiones relacionadas