2010-06-22 63 views
18

Actualmente estoy trabajando en varios proyectos por mi cuenta (al menos la parte en desarrollo la hago yo solo :). Usando Eclipse con diferentes Java, R, SQL y otros archivos fuente, me pregunto qué sistema de control de versiones sería el mejor para mí.control de versiones para un solo proyecto usando eclipse?

En el momento de la historia de Eclipse IDE parece ser suficiente, pero no estoy seguro de si esto será cierto en un mes/año ...

¿Qué solución le recomendaría y por qué?

Para ser más precisos: estoy bastante seguro de usar SVN o git si decido usar un sistema de control de versión completo. Pero no estoy seguro de si es necesario ...

small update: has the release of Eclipse Helios added new opinions? 
+1

Para ser más precisos: estoy bastante seguro de usar SVN o git _if_ Decido usar un sistema de control de versiones completo. Pero no estoy seguro de si es necesario ... – FloE

+1

Puede editar sus propias preguntas =) –

+0

correcto - gracias por la sugerencia (Todavía soy nuevo aquí) – FloE

Respuesta

9

a/It is necessary to have a VCS

b/CVCS and DVCS are quite different

c/Eclipse es actualmente moving all its project to Git (y es improving on EGit), de modo Git será el objetivo VCS en Eclipse.

+0

especialmente ayc son realmente buenos argumentos (¿por qué no podría encontrar uno en primer lugar? ...) – FloE

+0

+1 - este es el tipo de lo que el OP realmente quiere saber. –

+0

@FloE: bueno, es un enlace antiguo, y he estado siguiendo el tema de VCS durante mucho tiempo en SO;) – VonC

6

Git, porque se puede comenzar de inmediato y no necesita un servidor de repositorio central.

Algunas otras ventajas (en comparación con otros SCM):

  • sistema de ficheros menos desordenada: Git sólo crea una carpeta en la raíz del repositorio (a diferencia, por ejemplo, SVN).
  • No interfiere tanto con las funciones de manejo de archivos "normales". P.ej. en SVN necesita usar comandos personalizados para cambiar el nombre o mover archivos. Ese no es el caso con Git.

Tengo la sensación de que Git es muy liviano, por lo que no hay razón para esperar hasta que su proyecto sea "lo suficientemente grande" o lo que sea.

+0

esto puede poner la decisión hacia git – FloE

2

Por lo que tengo entendido, solo se trata de saber qué sistema de control de versiones prefiere.

Pero el sistema más eficiente es, probablemente, git, creo. http://www.eclipse.org/egit/ para el complemento Eclipse :)

Recomendaría utilizar un sistema de control de versiones de todos modos. Incluso en proyectos pequeños llegarás muy rápido hasta el punto de que una solución anterior podría haber sido mejor. Sin un sistema de control de versiones, usted hará cambios duros de reversión o volverá a las versiones anteriores (bueno, esa es una de las grandes ventajas de estos sistemas, ¿verdad?;)).

15

Recomendaría casi todos los sistemas de control de versiones distribuidas. He usado git y hg enfadado, y pulsé en fossil (lo incluyo porque ofrece algunas características que git y hg falta). Analizaré los principales pros y contras de mis ojos (NOTA: si todos tienen la misma ventaja, no voy a mencionarlo, p., Todos son rápido y ligero):

  • git
    • Pros
      • Muy flexible
      • GitHub
    • Contras
      • curva de aprendizaje empinada
      • más flexible
      • integración Eclipse era cojo la última vez que miré
  • hg
    • Pros comandos
      • (OMI) más consistentes
      • Menos flexible
      • BitBucket
    • Contras
      • menos flexible
      • Flexible No tiene absolutamente tanto impulso como git
    • Advertencias
      • No he comprobado en Eclipse apoyo últimamente; lo que solía ser mejor que git 's, pero parecía bastante estancado
  • fossil (exención de responsabilidad: No he utilizado éste en la ira)
    • Pros
      • Escrito por el hombre detrás de SQLite, por lo que puede estar bastante seguro de que es SOLIDO código
      • Ofrece algo más que el control de versión, por ejemplo, Un error de seguimiento distribuido
      • Es fácil de configurar para que otros puedan acceder a
    • Contras
      • no casi tanto impulso como git o hg
      • Estoy bastante seguro de integración Eclipse para fossil se inexistente (era la última vez que miré)
      • No tengo hosting gratuito que sepa que sea paralelo a GitHub o BitBucket, por lo que en realidad tiene que alojar su repositorio usted mismo

Hay otra DVCSs por ahí, entre los que destacan darcs y bzr, pero no los he utilizado lo suficiente como para tener una opinión que vale la pena en ellos.

+0

¡Buena comparación! Creo que la integración git maduró en la última vez. – FloE

+0

EGit es mejor de lo que solía ser, pero aún no está tan bien integrado como svn en el ecosistema del eclipse, con suerte mejorará aún más –

+0

Usted dice que 'git' tiene una curva de aprendizaje abrupta, pero no me parece tan complicado en absoluto . Libro en línea gratuito sobre 'git' aquí: http://progit.org/book/ – Jesper

2

Su comentario hace que parezca que su verdadera pregunta es si realmente necesita usar el control de versiones, dado que es un proyecto de una sola persona.

Se necesita muy poco tiempo para configurar y usar Git o Mercurial. Solo hazlo. Si no lo necesita, ha perdido unos minutos. Si lo necesita , podría ahorrarle semanas.

2

Git y Mercurial (hg) tienen un gran impulso como repositorios de código fuente distribuido pero en mi opinión, para una banda de un solo hombre, se encuentra la mayor parte del apoyo con Subversion. Si estás en Windows, la integración del shell TortoiseSVN es fantástica (incluso se integra con Trac) y el alojamiento gratuito de Subversion está por todas partes y tienes algo de experiencia personal con ProjectLocker.com (lo hacen con Git y SVN). Además, Subversion es bastante sencillo de integrar directamente en el Eclipse IDE.

1

Hay muchas ventajas de utilizar un SCM en lugar de sólo Eclipse histoiry aunque solo sea por una sola persona:

  • comentarios sobre compromete: se puede decir por qué hizo algo. Esto lo ayudará cuando necesite averiguar por qué un código hace lo que hace, según su historial.

  • copias de seguridad: Oh, mal estado completamente su espacio de trabajo de Eclipse? Simplemente cree uno nuevo y obtenga una nueva copia del código.

  • integración continua: compruebe que el código se genera después de cada operación de guardado, ejecuta pruebas (esto es importante) y crea el binario real para enviar al cliente.

Es su red de seguridad. Tómese el tiempo para aprenderlo y usarlo bien.Al final te va a gustar :)

+0

estos son algunos argumentos muy sólidos, exactamente lo que estoy buscando :) – FloE

+0

si confía en su SCM como copia de seguridad para su área de trabajo Eclipse, entonces también es importante que tenga un régimen de copia de seguridad adecuado para su SCM . Definitivamente en una máquina diferente (en caso de que muera su disco/PC), y preferiblemente fuera del sitio. –

+0

@Stephen, como siempre no hay magia. Esto es muy fácil de hacer con git (solo clonarlo), y bastante tedioso con svn y cvs. –

Cuestiones relacionadas