Aquí podría ser tu PUBLICIDAD


Comenzar con el control de versiones

votos
70

Necesito implementar control de versiones, incluso para el desarrollo que hago en casa. He leído acerca de cuán grande es Subversion en los últimos dos años y estuve a punto de dedicarme a aprender esto de forma paralela hasta que supe que Git era el sistema de control de versiones más avanzado.

Dada la situación, ¿debería esperar y ver cuál sale arriba? ¿Cuáles son sus ventajas relativas?

Un problema que noté con Git es que no hay muchas GUI completas, lo cual es importante para muchos usuarios de mi equipo.

Además, no le importaría sugerencias sobre cómo comenzar con uno u otro. (tutoriales, etc.)

Publicado el 05/08/2008 a las 19:29
fuente por usuario Mark Norgren
En otros idiomas...        العربية       

34 respuestas

votos
80

Lo más importante sobre el control de versiones es:

SOLO COMIENZA A UTILIZARLO

No usar control de versiones es una idea horrible. Si no está utilizando el control de versiones, deje de leer en este momento y empiece a usarlo.

Es muy fácil convertir desde

cvs<->svn<->git<->hg

No importa cuál elijas. Elija la más fácil para que la use y comience a registrar el historial de su código. Siempre puede migrar a otro (D) VCS más tarde.

Si está buscando una GUI fácil de usar, consulte TortoiseSVN (Windows) y Versiones (Mac) (Sugerido por codificación sin comentarios )


Editar:

pix0r dijo:

Git tiene algunas características agradables, pero no podrás apreciarlas a menos que ya hayas usado algo más estándar como CVS o Subversion.

Esta. Usar git no tiene sentido si no sabes lo que el control de versiones puede hacer por ti.

Editar 2:

Acabo de ver este enlace en reddit: Subversion Cheat Sheet . Buena referencia rápida para la línea de comando svn.

Respondida el 05/08/2008 a las 07:34
fuente por usuario Jonathan Works


Aquí podría ser tu PUBLICIDAD


votos
18

Use subversión, es fácil de configurar, fácil de usar y tiene muchas herramientas. Cualquier sistema de revisión futuro tendrá una función de importación desde SVN, por lo que no es como si no pudiera cambiar el camino si sus necesidades crecen.

Respondida el 05/08/2008 a las 07:31
fuente por usuario Karl Seguin

votos
16

El libro de Subversion es su mejor apuesta para aprender la herramienta. Puede haber otros tutoriales de inicio rápido, pero el libro es la mejor referencia individual que encontrará.

Git tiene algunas características agradables, pero no podrás apreciarlas a menos que ya hayas usado algo más estándar como CVS o Subversion. Definitivamente estoy de acuerdo con los carteles anteriores y comienzo con Subversion.

Respondida el 05/08/2008 a las 07:36
fuente por usuario pix0r

votos
13

Si es nuevo en versioncontrol, lea esto:
Control de fuente HOWTO

Respondida el 14/08/2008 a las 08:42
fuente por usuario John Smithers

votos
10

Ir por SVN. Si nunca antes has usado el control de fuente, no te importará de una forma u otra.

Además, no hay una gran cantidad de aprendizaje involucrado en el uso de un sistema de control de fuente. Si aprende uno, puede cambiar fácilmente a otro en una fecha posterior.

SVN es una gran herramienta y debería ocuparse de la mayoría de sus necesidades. Y dado que ha existido, tiene una participación justa de herramientas GUI (TortoiseSVN, por ejemplo).

Ir por SVN.

Respondida el 05/08/2008 a las 07:33
fuente por usuario Vaibhav

votos
8

He usado RCS, CVS, SCCS, SourceSafe, Vault, forzado, subversión y git.

Evalué BitKeeper, Dimensions, arch, bazaar, svk, ClearCase, PVCS y Synergy.

Si tuviera que comenzar un repositorio nuevo hoy, elegiría git . Manos abajo.

Es gratis, rápido y en desarrollo activo.

Y puede usarlo como cliente de cualquier repositorio de subversión usando git-svn.

Mece.

Respondida el 14/08/2008 a las 07:21
fuente por usuario Nick Brosnahan

votos
8

Para una explicación amigable de la mayoría de los conceptos básicos, vea Una guía visual para el control de versiones . El artículo es muy amigable para SVN.

Respondida el 05/08/2008 a las 07:39
fuente por usuario Rytmis

votos
5

Desde mi propia experiencia con él, no recomendaría git como introducción al control de versiones. Lo he estado utilizando durante un par de meses y tengo la impresión de que es muy poderoso y, ahora que lo entiendo parcialmente, es bastante intuitivo. Sin embargo, la curva de aprendizaje es muy pronunciada, aunque he estado usando el control de versiones durante años. También adolece de ser demasiado expresivo: admite muchos flujos de trabajo y modelos de desarrollo diferentes, pero la única guía sobre "la mejor" forma de usarlo está a unas pocas páginas de una búsqueda en Google, lo que también dificulta que un recién llegado elija arriba.

Dicho esto, es posible que comenzar desde una pizarra en blanco con git sea más fácil: mi experiencia de VCS es todo con control de versión centralizada (CVS, SVN, Perforce ...) y parte de mi dificultad (en curso) con git ha sido entendiendo las implicaciones del modelo distribuido. Eché un vistazo brevemente a otros DVCS como Bazaar y Mercurial y parecían un poco más amigables para los novatos.

De todos modos, como otros han dicho, Subversion es probablemente la forma más fácil de acostumbrarse a la mentalidad de control de versiones y obtener experiencia práctica de los beneficios de VCS (reversión, sucursales, desarrollo colaborativo, revisión de código más fácil, etc.).

Ah, y no empieces con CVS. Todavía es de uso práctico y tiene ventajas, pero en mi humilde opinión tiene demasiados caprichos históricos y problemas de implementación (¡compromisos no atómicos!) Como una buena forma de aprender.

Respondida el 23/09/2008 a las 10:32
fuente por usuario Sam Stokes

votos
5

@ superjoe30

¿Qué pasa con el uso de control de código fuente en su propia computadora, si usted es el único programador? ¿Es esta una buena práctica? ¿Hay consejos o trucos relacionados?

Encuentro que git es realmente más fácil para esto, ya que no necesitas un servidor o te preocupes por ingresar las URL, etc. Las cosas de control de versiones solo viven en el .gitdirectorio dentro de su proyecto y usted simplemente sigue y lo usa.

5 segundos de introducción (suponiendo que lo haya instalado)

cd myproject
git init
git add * # add all the files
git commit

La próxima vez que hagas algunos cambios

git add newfile1 newfile2 # if you've made any new files since last time
git commit -a

Mientras lo hagas, git te dará la espalda. Si te equivocas, tu código está a salvo en el buen repositorio de git. Es impresionante

  • Nota: Puede que resulte un poco más difícil sacar cosas de git que introducirlas, ¡pero es mucho más preferible tener ese problema que no tenerlos!
Respondida el 14/08/2008 a las 08:00
fuente por usuario Orion Edwards

votos
4

Pruebe también svn visual para su servidor si desea evitar cualquier línea de comando.

Respondida el 06/08/2008 a las 07:59
fuente por usuario DShook

votos
4

En mi trabajo actual, mi predecesor no usó ningún tipo de control de versión. Solo hay montañas de carpetas en al menos 3 lugares diferentes donde mantuvo todos sus proyectos. Se puede esperar que cualquier carpeta de proyecto aleatorio encuentre al menos un nombre de carpeta "proyecto (OLD)" y otro denominado "proyecto".

Con el control de versiones, nunca tendrás que hacer copias de compilaciones "seguras". En realidad, no tiene que preocuparse de que su IDE corrompa el archivo en el que está trabajando (lo estoy viendo a usted, REALBasic 5.5) porque es muy fácil comprometer (leer: guardar) su trabajo todos los días.

No hace falta decir que instalé el control de versiones el día después de descubrir que existía.

Además, TortoiseSVN hace que comprometerse con la base de datos sea tan fácil como hacer clic derecho en una carpeta.

Respondida el 05/08/2008 a las 08:18
fuente por usuario Grant

votos
4

Mi voto va a Subversion. Es muy potente, pero fácil de usar, y tiene algunas herramientas geniales como TortoiseSVN .

Pero como otros han dicho antes, SIMPLEMENTE COMIENZO A UTILIZARLO. El control de la fuente es una parte tan importante del proceso de desarrollo de software. Ningún proyecto de software "serio" debería estar sin él.

Respondida el 05/08/2008 a las 07:39
fuente por usuario Brandon Wood

votos
3

Git es superior a la subversión, pero está un poco fuera de control.

Yo diría que si recién estás comenzando, salta al límite; configurar una cuenta gratuita @ http://github.com

Tienen material educativo en el sitio para configurar y usar git.

Respondida el 22/08/2008 a las 07:38
fuente por usuario ryw

votos
3

Si está en Mac OSX, encontré que http://www.versionsapp.com/">Versions es una interfaz gráfica de usuario increíble (gratuita) para SVN.

Respondida el 05/08/2008 a las 08:01
fuente por usuario CodingWithoutComments

votos
2

No esperes Elige uno y ve con él. Todos los sistemas tendrán sus ventajas y desventajas. Su poder se puede apagar, su computadora es robada, o se olvida de deshacer un cambio importante y todo su código se fríe mientras espera ver quién sale victorioso.

Respondida el 05/08/2008 a las 07:35
fuente por usuario Rob Allen

votos
1

Si elige ir con subversión y desea alojar su propio servidor svn, entonces hay un servidor basado en Windows muy agradable y fácil llamado servidor VisualSVN. Oculta la complejidad de configurar un servidor Apache, básicamente, pasa al siguiente. La configuración del usuario se maneja con una webUI, en lugar de una configuración

http://www.visualsvn.com/server/

usar un servicio público rlike beanstalk es probablemente más fácil, pero a algunas personas les gusta tener sus propios repositorios, ya sea por velocidad o seguridad

Respondida el 23/09/2008 a las 09:46
fuente por usuario Sebastian Vilstrup

votos
1

SubVersion es la mejor opción para usted, ya que Karl Seguin señaló que mudarse a otro sistema de control de versiones no sería un problema. también SVN tiene muy buena interfaz gráfica de usuario fácil de usar en el lado del cliente (TortoiseSVN).

http://www.snee.com/bobdc.blog/2007/08/getting_started_with_subversio.html http://dojo.jot.com/WikiHome/Getting%20Started%20With%20Subversion

Respondida el 23/09/2008 a las 07:50
fuente por usuario Srikanth131

votos
1

Use TortoiseSVN (version.app si está en mac). Solo instala y listo. Si necesita un lugar para alojar su código, mire http://beanstalkapp.com/

Respondida el 22/08/2008 a las 07:42
fuente por usuario icco

votos
1

No es tan difícil cambiar entre los sistemas de control de versiones. Como otros han mencionado, lo importante es comenzar a usar cualquier cosa lo antes posible. Los beneficios de utilizar el control de fuente sobre no usar el control de fuente superan con creces los beneficios diferenciales entre los diferentes tipos de control de fuente.

Recuerde que no importa qué versión de control de fuente esté utilizando, siempre podrá realizar una conversión de fuerza bruta a otro sistema colocando los archivos de su antiguo sistema en el disco y luego importando esos archivos sin procesar al nuevo sistema.

Además, estar familiarizado con los fundamentos del control de la fuente es una habilidad muy, muy importante para tener como desarrollador de software.

Respondida el 06/08/2008 a las 12:20
fuente por usuario Wedge

votos
0

Una razón importante para usar svn en lugar de cvs es que svn admite diffs binarios. Puede que eso no le importe a muchos programadores, pero si está haciendo una serie de cambios menores en una imagen de 10Mb, tener una copia única cada vez en su repositorio puede masticar espacio notablemente rápido.

Utilizo TortoiseSVN en Windows, pero en Mac he recurrido al cliente comercial CornerStone sobre el cliente Versions (ahora comercial). Encontré que la gama de clientes de Mac gratuitos, incluido RapidSVN, tenía suficientes puntos débiles para molestarme y desembolsar dólares reales. La red de seguridad que CornerStone proporciona para capturar archivos que olvidé agregar al repositorio me vale los dólares. ¡Dedico mucho tiempo a colaborar con un cliente estadounidense que se encuentra en un huso horario opuesto, por lo que no puedo permitirme perder el tiempo olvidándome de agregar archivos!

Respondida el 12/01/2009 a las 01:56
fuente por usuario Andy Dent

votos
0

Empecé a usar subversión después de leer el blog de Wil Shipleys.

Así que comencé a verificar el código, una máquina y la cuenta de Dreamhost. Luego, después de que accidentalmente borré una función y guardé mi proyecto, supe que estaba en un "dudu" profundo, pero con la subversión simplemente revisé la última versión de ese archivo y fue como si nada hubiera pasado.

Uso el control de versiones para todo ahora. Estoy planeando mudarme a git porque es más rápido, funciona sin conexión, ocupa menos espacio y oh chico es más rápido.

Respondida el 02/09/2008 a las 10:35
fuente por usuario Trausti Thor Johannsson

votos
0

Un consejo importante para facilitar la configuración de un servidor SVN en este momento es usar un dispositivo virtual. Es decir, una máquina virtual que tiene subversión preinstalada y (en su mayoría) preconfigurada en ella, prácticamente una cosa plug & play. Puede intentar aquí , aquí y aquí , o simplemente intente buscar en Google en "dispositivo virtual subversion".

Respondida el 30/08/2008 a las 05:30
fuente por usuario Hershi

votos
0

Coding Horror tiene una excelente publicación sobre cómo configurar Subversion en Windows .

Siguiendo el tutorial, pude ejecutar Subervsion y TortoiseSVN localmente y obtuve la educación que necesitaba.

En lo que respecta a Git, probablemente sea una buena idea hacer un experimento práctico con ambos, para comprender cuál se adapta a su práctica de desarrollo específica.

Respondida el 25/08/2008 a las 03:52
fuente por usuario user290

votos
0

Por experiencia personal, svn sería mi recomendación. Incluso puede usar un servicio como Beanstalk que ofrece cuentas gratuitas (obviamente con límites, pero suficientes para cualquier proyecto pequeño) para probar las aguas. Pero como otros han dicho, git es superior y es probable que valga la pena investigarlo.

Respondida el 22/08/2008 a las 07:42
fuente por usuario jonezy

votos
0

Como se mencionó muchas veces en otros lugares, Just Do It. Pude comenzar de cero con Subversion en Windows en muy poco tiempo leyendo la guía de inicio rápido en el Libro rojo. Una vez que señalé TortoiseSVN en el repositorio, estaba en el negocio. Me tomó un tiempo para bajar los puntos más finos, pero eran jorobas menores para superar.

Sugiero instalar el servicio de Subversion en lugar de utilizar las URL de archivo: //, pero eso es sobre todo preferencia personal. Para un repositorio almacenado en su máquina de desarrollo, file: // funciona bien.

Respondida el 22/08/2008 a las 07:30
fuente por usuario SarekOfVulcan

votos
0

Simplemente use TortoiseSVN, y puede vivir incluso sin conocer los comandos de Subversion reales ... Pero eso es malo. Afortunadamente, siempre habrá una "gran oportunidad" para aprenderlos de memoria, cuando su repositorio inestimable primero se corrompe.

Sí, sucede.

Respondida el 18/08/2008 a las 03:47
fuente por usuario ansgri

votos
0

@ superjoe30 Sí, absoluteley. Una vez que comienzas a usar el control de versiones, nunca vuelves. Lo uso para todo, incluso mi carpeta de "inicio".

@Orion Edwards Subversion no requiere un servidor. Puede acceder a un repositorio local directamente (a través de un cliente, por supuesto), y no hay un proceso de servidor involucrado.

Respondida el 18/08/2008 a las 09:17
fuente por usuario Anders Sandvig

votos
0

Definitivamente elegiría SVN sobre CVS, aunque solo sea porque las personas que aprendieron el control de fuente usando CVS, tienden a usar " svn delete" luego " svn add" en lugar de " svn move". Lo que hace que sea más difícil encontrar todas las revisiones previas de un archivo específico. Y siempre puede actualizar a usar git-svn. Personalmente creo que es más fácil de aprender que hg, pero en realidad la razón principal para usar SVN es que se ha convertido en gran medida en el sistema de control de versiones de facto del software de código abierto.

Si alguna vez planea aprender / usar D , es casi obligatorio acceder a los repositorios de terceros, como DSource .

Respondida el 17/08/2008 a las 02:25
fuente por usuario Brad Gilbert

votos
0

Si está en una ventana, una interrupción rápida y sucia es CVSNT. Fácil de usar, simplemente configúrelo y funciona muy bien.

Yo mismo prefiero SVN, pero este es uno bueno para un uso rápido.

Respondida el 07/08/2008 a las 06:33
fuente por usuario Adam Lerman

votos
0

superjoe30 escribe :

Pregunta relacionada (quizás las respuestas se puedan editar para responder esta pregunta también):

¿Qué pasa con el uso de control de código fuente en su propia computadora, si usted es el único programador? Es >> esta buena práctica? ¿Hay consejos o trucos relacionados?

Uso SVN para todos mis proyectos personales. Comencé con la ejecución de svn en mi máquina doméstica, pero finalmente migré a Dreamhost. Sus paquetes de alojamiento que incluyen Subversion son bastante razonables.

Respondida el 05/08/2008 a las 07:41
fuente por usuario Mark Biek

votos
0

Sí, SVN de preferencia a menos que realmente necesites las características particulares de git. SVN es bastante difícil; Parece que es más complicado vivir con git. Puede obtener svn alojado de gente como Beanstalk , a menos que tenga gente interna de Linux, realmente lo recomendaría. Las cosas pueden salir mal horriblemente y es bueno tener a alguien más cuyo trabajo es arreglarlo.

Hay un excelente tutorial sobre el control de revisiones de Eric Sink, que vale la pena leer sin importar qué sistema use.

Respondida el 05/08/2008 a las 07:40
fuente por usuario Polsonby

votos
0

Comience a usar SVN para su trabajo real, pero intente hacer tiempo para juguetear con Git y / o Mercurial. SVN es razonablemente estable para la producción, pero finalmente se enfrentará a un escenario en el que necesitará un SCM distribuido, momento en el cual estará armado correctamente y los nuevos sistemas estarán lo suficientemente maduros.

Respondida el 05/08/2008 a las 07:38
fuente por usuario Ishmaeel

votos
0

Cuando decidí que debía usar un sistema de control de versiones de código, busqué buenos tutoriales sobre cómo comenzar pero no encontré ninguno que pudiera ayudarme.

Así que instalé simplemente el Servidor SVN y el SVN de Tortoise para el cliente y me lancé al sumidero y aprendí cómo usarlo en el camino.

Respondida el 05/08/2008 a las 07:36
fuente por usuario GateKiller

votos
-1

Respuesta corta: Subversion si eres el único que la codifica o estás en el sitio con todas las personas con las que trabajas. GIT si trabajas con personas en diferentes sitios y tu base de códigos es enorme.

Subversion es muy, muy fácil de configurar y usar. También es bueno porque también puedes hacer cosas relativamente complicadas con él, como conectarlo a Apache y usar SSL o conectarlo a Trac para la administración del proyecto. Hay tantas herramientas disponibles para Subversion que es realmente una buena opción.

GIT es mucho más útil para las personas que trabajan en equipos grandes que trabajan en un entorno distribuido. Linus T. lo desarrolló para el equipo de Linux porque no estaba satisfecho con las capacidades de los repositorios tradicionales. Bien vale la pena aprender si alguna vez planea trabajar con personas en proyectos de código abierto.

Respondida el 25/08/2008 a las 03:46
fuente por usuario Mike Caron


Aquí podría ser tu PUBLICIDAD