¿Cuál es la diferencia entre todos los diferentes tipos de control de versiones?

StackOverflow https://stackoverflow.com/questions/3859

  •  08-06-2019
  •  | 
  •  

Pregunta

Después de haber sido informado por al menos 10 personas PARA que el control de la versión era una buena cosa, incluso si es sólo a mí, ahora tengo una pregunta de seguimiento.

¿Cuál es la diferencia entre todos los diferentes tipos de control de versiones y hay una guía que nadie sabe de control de versiones que es muy sencillo y fácil de entender?

¿Fue útil?

Solución

Eric Fregadero tiene un buena visión general de control de código fuente.También hay algunos existente preguntas de aquí ENTONCES.

Otros consejos

Parece que estamos en la edad de oro de control de la versión, con un montón de opciones, todos los cuales tienen sus pros y sus contras.

Aquí están las veo más utilizados:

  • svn - actualmente el más popular de código abierto?
  • git - muy caliente desde Linus cambiado a lo
  • mercurial - algunas personas inteligentes sé lo juro por ésta
  • cvs - la que todo el mundo está de conmutación de
  • perforce - en mi humilde opinión, las mejores características, pero no es de código abierto.El dos de licencia para el usuario es libre, sin embargo.
  • visual sourcesafe - no estoy mucho en el mundo de Microsoft, así que no tengo ninguna idea acerca de este, otros que a la gente le gusta el trapo en ella, ya que el trapo en todo lo de Microsoft.
  • scc - de interés histórico podemos mencionar, la gran-grandaddy de muchos de los anteriores
  • rcs - y el grandaddy de muchos de los anteriores

Mi recomendación:estás más segura, ya sea con git, svn o forzosamente, ya que mucha gente lo usa, ellos son multiplataforma, tiene buena interfaces gráficas de usuario, usted puede comprar los libros acerca de ellos, etc.

No consideran como cvs, scc, rcs, que son antiguos.

Lo bueno es que, desde que sus proyectos serán relativamente pequeñas, usted será capaz de mover el código a un nuevo sistema una vez que usted es más experimentado y decidir que usted desea trabajar con otro sistema.

A todo el mundo acaba de comenzar el uso de control de versiones:

Por favor, no use git (o hg o bzr) porque el bombo

El uso de git (o hg o bzr), ya que son mejores herramientas para gestionar el código fuente de SVN.

He utilizado SVN para un par de años en el trabajo, y cambió a git hace 6 meses.Sin el aprendizaje de SVN primero yo estaría totalmente perdido cuando se trata de utilizar un DVCS.

Para la gente que acaba de empezar con control de versiones:

  • Comienza la descarga del SVN
  • Aprender por qué usted necesidad de control de versiones
  • Aprender a comprometerse, checkout, rama
  • Aprender por qué la fusión en el SVN es un dolor

Luego cambiar a un DVCS y aprender:

  • Cómo clonar/sucursal/commit
  • Como es fácil de combinar sus ramas hacia atrás (ir rama loco!)
  • Lo fácil que es volver a escribir cometer la historia y mantener sus ramas
    hasta la fecha, con la línea principal (git rebase -i, )
  • Cómo publicar los cambios para que otros puedan beneficiarse

tldr;multitud:

Empezar con SVN y aprender los conceptos básicos, a continuación, pasar a un DVCS.

Me gustaría empezar con:

A continuación, una vez que se ha leído sobre ella, descargar e instalar SVN, TortoiseSVN y descremada en los primeros capítulos de la libro y empezar.

El Control de versiones es esencial para el desarrollo, incluso si usted está trabajando por ti ya que te protege de sí mismo.Si usted comete un error, es una simple cuestión de volver a una versión anterior del código que se sepa que funciona.Esto también libera a explorar y experimentar con el código, pues eres libre de tener que preocuparse de si lo que estás haciendo es reversible o no.Hay dos ramas principales de los Sistemas de Control de versiones (VCS), Centralizados y Distribuidos.

Centralizado VCS se basan en el uso de un servidor central, donde todos los "cheques" de un proyecto, trabaja en ella, y "compromete" a sus cambios en el servidor para que nadie más utilice.Los principales Centralizado VCS son CVS y SVN.Ambos han sido fuertemente criticado por "fusión" "ramas" es extremadamente dolorosa con ellos.[TODO:escribir explicación sobre cuáles son las ramas son y por qué la fusión es duro con CVS & SVN]

Distribuido VCS permitir que todos tengan su propio servidor, donde se puede "tirar" de los cambios de otras personas y "empujar" los cambios a un servidor.El más común Distribuido VCS son Git y Mercurial.[TODO:escribir más en la diversificación de la VCS]

Si estás trabajando en un proyecto de I fuertemente recomendar el uso de un distribuida VCS.Recomiendo Git porque es sorprendentemente rápido, pero ha sido criticado por ser demasiado difícil de usar.Si no te importa utilizar un producto comercial BitKeeper supuestamente es fácil de usar.

El respuesta a otra pregunta también se aplica aquí, lo que es más importante

Jon Obras dijo:
La cosa más importante acerca de la versión de control es:

ACABO DE EMPEZAR A USARLO

Su respuesta entra en más detalle, y yo no quiero ser acusado de plaigerism así que eche un vistazo.

La respuesta es bien sencilla, ¿te gustan los botones Deshacer?La respuesta es por supuesto que sí, porque nosotros como seres humanos cometen errores todo el tiempo.

Como programadores, a menudo es el caso, sin embargo, que puede tomar varias horas de pruebas, cambios de código, sobrescribe, eliminaciones, el archivo se mueve y cambia el nombre antes de trabajar el método que estamos tratando de utilizar para solucionar un problema es todo el mal y el código es más roto que cuando empezamos.

Como tal, el Control de código Fuente es un enorme botón de Deshacer para revertir el código a un momento anterior, cuando la hierba era verde y la comida abundante.Y no sólo eso, porque de cómo el control de código fuente funciona, todavía se puede mantener una copia de su código roto, en el caso de un par de semanas hacia abajo de la línea que desea referirse a ella de nuevo y escoger las buenas ideas que salió de ella.

Yo personalmente (aunque podría ser llamado una exageración) utilice una Sola licencia de usuario versión de la Fuente del Engranaje de la Fortaleza (que es su cámara de control de código fuente del producto con el error de seguimiento de características).Me parece que la interfaz de usuario realmente sencillo de usar, es compatible con la caja > editar > checkin modelo y el modificar > combinar > modelo de confirmación.Puede ser un poco difícil de configurar, aunque, la necesidad de ejecutar una copia local de los servicios de infraestructura y SQL server.Es posible que desee probar un programa más pequeños, como los recomendados por otras respuestas aquí.Ver lo que te gusta y lo que usted puede permitirse.

Mark dijo:

git - muy caliente desde Linus cambiado a lo

Sólo quiero señalar que Linus no cambiar a ella, Linus escribió es.

Si usted está trabajando en un entorno Windows, entonces el licencia de usuario único para SourceGear de la Bóveda es libre.

Utilizamos y como Mercurial.Se sigue un modelo distribuido - elimina algunos de la sensación de tener que "check in" de trabajo.Mozilla ha se trasladó a Mercurial, lo cual es una buena señal de que no va a desaparecer en cualquier momento pronto.Una estafa, en mi opinión, es que no hay una muy buena interfaz gráfica para ello.Si usted se siente cómodo con la línea de comandos, sin embargo, es bastante útil.

Mercurial Documentación No Oficial Del Manual De

Acabo de empezar a usar el control de código fuente, no importa qué tipo de uso.Lo que usted utiliza no importa;es el uso de lo que es importante

Como todos los demás, SC es realmente depende de sus necesidades, su presupuesto, su entorno, etc.

En su raíz, la fuente de control está diseñado para proporcionar un repositorio central de todos los de su código, y realizar un seguimiento de quién hizo qué y cuándo.Debe ser una historia completa, y usted puede conseguir productos que no llena de cambios, de auditoría, de control de acceso, y así sucesivamente...

Cada producto que se fuera de allí comienza a brillar (por así decirlo) cuando uno empieza a mirar cómo desea o necesita incorporar SC en su entorno (ya sea su código personal y los documentos o de las grandes corporaciones).Y como la gente los usa, descubren que la herramienta tiene limitaciones, por lo que la gente escribir nuevos.SVN nace de las limitaciones que los creadores vieron con CVS.Linus quería algo mejor para el kernel de Linux, así que ahora tenemos git.

Yo diría que comenzar a usar uno (algo así como SVN que es muy popular y bastante fácil de usar) y ver cómo va.A medida que el tiempo progresa, puede encontrar que usted necesita alguna otra funcionalidad, o la necesidad de interactuar con otros sistemas, por lo que usted puede necesitar SourceSafe u otra herramienta.

Control de origen es siempre importante, y mientras que usted puede conseguir lejos con manual de re-numeración de las versiones de los archivos PSD o algo de como se trabaja en ellos, vas a olvidar para ejecutar la secuencia de comandos por lotes una vez o dos veces, o es probable que olvidar que el número fue con la que cambiar.Que es donde la mayoría de estos SC herramientas que pueden ayudar (siempre que el check-in/check-out).

Ver también de este MODO la pregunta:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top