tipos tag qué practices existen etiquetas eliminar crear commits best git svn version-control language-agnostic dvcs

tag - qué tipos de etiquetas existen en git



Comenzando con el Control de versiones (30)

@ superjoe30

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

Creo que git es realmente más fácil para esto, ya que no necesita un servidor ni se preocupa por ingresar las URL, etc. Sus cosas de control de versiones simplemente viven en el directorio .git dentro de su proyecto y simplemente continúe y utilícelo.

Introducción de 5 segundos (suponiendo que la 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 hagas eso, git te respalda. Si te equivocas, tu código está seguro en el bonito repositorio de git. Es impresionante

  • Nota: Es posible que sacar las cosas de git sea un poco más difícil que hacerlo, ¡pero es mucho más preferible tener ese problema que no tener los archivos en absoluto!

Necesito implementar el control de versiones, incluso para el desarrollo que hago en casa. Leí sobre lo excelente que es Subversion durante los últimos dos años y estaba a punto de dedicarme a aprender esto de forma paralela hasta que escuché que Git es el sistema de control de versiones prometedor.

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ían sugerencias sobre cómo comenzar con uno u otro. (tutoriales, etc.)


superjoe30 escribe :

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

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

Yo uso SVN para todos mis proyectos personales. Comencé ejecutando svn en mi máquina doméstica, pero finalmente migré a Dreamhost. Sus paquetes de alojamiento que incluyen Subversion son bastante razonables.


@ superjoe30 Sí, absoluta. Una vez que comience a usar el control de versiones, nunca volverá. Lo uso para todo, incluso para mi carpeta "home".

@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 ningún proceso de servidor involucrado.


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


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

Sugeriría instalar el Servicio de Subversion en lugar de usar file: // URL, pero eso es principalmente una preferencia personal. Para un repositorio almacenado en su máquina de desarrollo, file: // funciona bien.


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 simplemente instalé el SVN Server y Tortoise SVN para el cliente y me sumergí en la profundización y no aprendí cómo usarlo en el camino.


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 " y luego " svn add " en lugar de " svn move ". Lo que hace que sea más difícil encontrar todas las revisiones anteriores 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 realmente 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 .


Desde mi propia experiencia con él, no recomendaría git como introducción al control de versiones. Lo he estado usando durante un par de meses, y mi impresión es que es muy poderoso y, ahora que lo he entendido parcialmente, es razonablemente intuitivo. Sin embargo, la curva de aprendizaje es muy empinada, a pesar de que 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 son algunas páginas profundas en 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 en realidad sea más fácil: mi experiencia VCS es todo con control de versión centralizado (CVS, SVN, Perforce ...) y parte de mi (¡continua!) Dificultad con git ha sido Comprender las implicaciones del modelo distribuido. Eché un vistazo brevemente a otros DVCS como Bazaar y Mercurial y parecían ser algo más amigables para los novatos.

De todos modos, como han dicho otros, 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, ramas, 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 demasiadas peculiaridades históricas y problemas de implementación (¡compromisos no atómicos!) Para ser una buena manera de aprender.


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 única que encontrará.

Git tiene algunas características agradables, pero no podrá apreciarlas a menos que ya haya usado algo más estándar como CVS o Subversion. Definitivamente estaría de acuerdo con los pósters anteriores y comenzaría con Subversion.


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

Con el control de versiones, nunca tendrá que hacer copias de compilaciones "seguras". Realmente no tiene que preocuparse de que su IDE dañe el archivo en el que está trabajando (lo estoy mirando, 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.


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 borde; configurar una cuenta gratuita @ http://github.com

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


He usado RCS, CVS, SCCS, SourceSafe, Vault, perforce, subversion y git.

He evaluado BitKeeper, Dimensiones, arco, bazar, svk, ClearCase, PVCS y Synergy.

Si tuviera que comenzar un nuevo repositorio 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.

Se mece.


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

SOLO COMIENCE A USARLO

No usar el control de versiones es una idea horrible. Si no está utilizando el control de versiones, deje de leer ahora y comience a usarlo.

Es muy fácil convertir de

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

No importa cuál elijas. Simplemente elija el más fácil de usar y comience a grabar 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, mire TortoiseSVN (Windows) y Versiones (Mac) (sugerido por la codingwithoutcomments )

Editar:

pix0r dijo:

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

Esta. Usar git no tiene sentido si no sabe qué control de versiones puede hacer por usted.

Edición 2:

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


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

Pero como otros han dicho antes que yo, SOLO COMIENCE A USARLO. El control de código fuente es una parte tan importante del proceso de desarrollo de software. Ningún proyecto de software "serio" debería estar sin él.


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

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

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


No esperes Elige uno y ve con él. Todos los sistemas tendrán sus ventajas y desventajas. Su energía podría apagarse, su computadora será robada, o se olvida de deshacer un cambio importante y todo su código se estropea mientras espera ver quién sale victorioso.



Por experiencia personal, svn sería mi recomendación. Incluso puede utilizar un servicio como http://beanstalkapp.com/ 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 probablemente valga la pena analizarlo.


Sí, SVN de preferencia a menos que realmente necesites las características particulares de git. SVN es lo suficientemente difícil; Parece que git es más complicado para vivir. Puede recibir svn alojado de personas como Beanstalk , a menos que tenga personas Linux internas, realmente lo recomendaría. Las cosas pueden salir mal terriblemente fácilmente y es bueno tener a otra persona cuyo trabajo es arreglarlo.

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


Si elige usar Subversion y desea alojar su propio servidor svn, entonces hay un servidor basado en Windows muy agradable y fácil llamado VisualSVN server. Oculta la complejidad de configurar un servidor apache, básicamente solo vas al siguiente. La configuración del usuario se maneja con una interfaz de usuario web, en lugar de una configuración

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

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


Si en una caja de Windows, una solució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 un buen uso rápido.



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


Simplemente use TortoiseSVN, y puede vivir incluso sin conocer los comandos reales de Subversion ... Pero eso es malo. Afortunadamente, siempre habrá una "gran oportunidad" para aprenderlas de memoria, cuando su depósito de valor incalculable se corrompa por primera vez.

Si, pasa.



También pruebe visual svn para su servidor si desea evitar el trabajo de la línea de comandos.


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 la subversión preinstalada y (en su mayoría) preconfigurada, más o menos una cosa plug & play. Puede probar here , here y here , o simplemente intente buscar en Google en "dispositivo virtual de subversión".


Use TortoiseSVN (version.app si está en Mac). Simplemente instale y listo. Si necesita un lugar para alojar su código, visite http://beanstalkapp.com/


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


Ve por SVN. Si nunca antes ha usado el control de fuente, no le 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 código 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 buena cantidad de herramientas GUI (TortoiseSVN, por ejemplo).

Ve por SVN.