version control - usados - ¿Cuál es la diferencia entre todos los diferentes tipos de control de versión?
¿qué es un sistema control de versiones centralizado? (13)
Como todos los demás, SC realmente depende de sus necesidades, su presupuesto, su entorno, etc.
En su raíz, el control de fuente está diseñado para proporcionar un repositorio central de todo su código, y rastrear quién hizo qué cuando. Debe haber un historial completo, y puede obtener productos que lleven registros de cambios completos, auditoría, control de acceso, y así sucesivamente ...
Cada producto que está por ahí comienza a brillar (por así decirlo) cuando comienzas a ver cómo quieres o necesitas incorporar SC en tu entorno (ya sea tu código personal y documentos o una gran corporación). Y a medida que la gente los utiliza, descubren que la herramienta tiene limitaciones, por lo que las personas escriben otras nuevas. SVN nació 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 comiences a usar uno (algo así como SVN, que es muy popular y fácil de usar) y ve cómo va. A medida que pasa el tiempo, es posible que necesite alguna otra funcionalidad o necesite interactuar con otros sistemas, por lo que puede necesitar SourceSafe u otra herramienta.
El control de fuente siempre es importante, y aunque puede salirse con la numeración manual de las versiones de los archivos PSD o algo así mientras trabaja en ellos, se olvidará de ejecutar ese script por lotes una o dos veces, o probablemente olvidará qué número se fue con qué cambio. Ahí es donde la mayoría de estas herramientas de SC pueden ayudar (siempre y cuando ingrese / salga).
Después de que al menos 10 personas en SO me informaron que el control de versiones era algo bueno, incluso si solo soy yo, ahora tengo una pregunta de seguimiento.
¿Cuál es la diferencia entre todos los diferentes tipos de control de versiones y existe una guía que todos conocen para el control de versiones que es muy simple y fácil de entender?
Eric Sink tiene una buena visión general del control de la fuente . También hay algunas preguntas existentes aquí en SO.
La respuesta a otra pregunta también se aplica aquí, lo más importante
Jon Works dijo:
Lo más importante sobre el control de versiones es:SOLO COMIENZA A UTILIZARLO
Su respuesta entra en más detalles, y no quiero que me acusen de plagio, así que échale un vistazo.
La respuesta simple es, ¿te gustan los botones Deshacer? La respuesta es, por supuesto, sí, porque nosotros, como ser humano, cometemos errores todo el tiempo.
Como programadores, a menudo ocurre que puede tomar varias horas de prueba, cambios de código, sobrescrituras, eliminaciones, movimientos de archivos y renombrados antes de que resolvamos el método que estamos tratando de usar para solucionar un problema que es completamente incorrecto y el el código está más roto que cuando comenzamos.
Como tal, Source Control es un botón Deshacer masivo para revertir el código a un tiempo anterior cuando el césped era verde y la comida abundante. Y no solo eso, debido a la forma en que funciona el control de fuente, aún puede conservar una copia de su código roto, en caso de que, transcurridas unas semanas, lo recomiende de nuevo y elija todas las buenas ideas que hayan surgido. .
Personalmente (aunque podría llamarse excesivo) utilice una versión de licencia de usuario gratuita de Source Gear Fortress (que es su producto de control de fuente Vault con funciones de seguimiento de errores). Encuentro que la UI es realmente fácil de usar, admite tanto el checkout> edit> checkin model como el edit> merge> commit model. Sin embargo, puede ser un poco complicado configurarlo, lo que requiere que ejecutes una copia local de ISS y SQL Server. Es posible que desee probar un programa más pequeño, como los recomendados por otras respuestas aquí. Vea lo que le gusta y lo que puede pagar.
Mark dijo:
git - muy caliente ya que Linus lo cambió
Solo quiero señalar que Linus no cambió a eso, Linus lo escribió .
Para todos los que acaban de comenzar a usar el control de versiones:
Por favor, no use git (o hg o bzr) debido a la exageración
Use git (o hg o bzr) porque son mejores herramientas para administrar el código fuente que SVN.
Utilicé SVN durante unos años en el trabajo, y cambié a git hace 6 meses. Sin aprender primero SVN, estaría completamente perdido cuando se trata de usar un DVCS.
Para las personas que recién comienzan con el control de versiones:
- Comience por descargar SVN
- Aprende por qué necesitas control de versiones
- Aprende cómo comprometer, pagar, sucursal
- Aprenda por qué fusionarse en SVN es tan doloroso
Luego, cambie a DVCS y aprenda:
- Cómo clonar / ramificar / comprometer
- ¡Qué fácil es fusionar tus ramas de nuevo (te vuelves loco por las ramas!)
- Qué fácil es reescribir el historial de commits y mantener tus ramas
actualizado con la línea principal ( git rebase -i ,) - Cómo publicar sus cambios para que otros puedan beneficiarse
tldr; multitud:
Comienza con SVN y aprende los conceptos básicos, luego pasa a un DVCS.
Parece que estamos en la era dorada del control de versiones, con un montón de opciones, todas las cuales tienen sus pros y sus contras.
Estos son los que más uso veo:
- svn: ¿actualmente la fuente abierta más popular?
- git - muy caliente ya que Linus lo cambió
- Mercurial: algunas personas inteligentes que conozco lo juran
- cvs - del que todo el mundo está cambiando
- forzado - imho, las mejores características, pero no es de código abierto. Sin embargo, la licencia de dos usuarios es gratuita.
- visual sourcesafe: no estoy muy metido en el mundo de Microsoft, así que no tengo idea acerca de esto, aparte de que a la gente le gusta fastidiarlo mientras trafican con todo lo de Microsoft.
- sccs - por interés histórico mencionamos esto, el gran abuelo de muchos de los anteriores
- rcs - y el grandaddy de muchos de los anteriores
Mi recomendación: estás más seguro con git, svn o forzosamente, ya que mucha gente los usa, son multiplataforma, tienen buena información, puedes comprar libros sobre ellos, etc.
No consideres cvs, sccs, rcs, son antiguos.
Lo bueno es que, dado que sus proyectos serán relativamente pequeños, podrá mover su código a un nuevo sistema una vez que tenga más experiencia y decidir si desea trabajar con otro sistema.
Si trabaja solo en un entorno Windows, la licencia de usuario único para SourceGear''s Vault es gratuita.
Simplemente comience a usar el control de fuente, sin importar qué tipo use. Lo que usas no importa; es el uso de eso lo que es importante
Usamos y nos gusta Mercurial . Sigue un modelo distribuido: elimina parte de la sensación de tener que "controlar" el trabajo. Mozilla se mudó a Mercurial , lo que es una buena señal de que no va a desaparecer en el corto plazo. Una estafa, en mi opinión, es que no hay una buena GUI para eso. Sin embargo, si te sientes cómodo con la línea de comandos, es bastante útil.
Ver también esta pregunta SO:
Version Control es esencial para el desarrollo, incluso si trabajas solo porque te protege de ti mismo. Si comete un error, es una cuestión simple retroceder a una versión anterior de su código que sepa que funciona. Esto también te permite explorar y experimentar con tu código porque no tienes que preocuparte si lo que estás haciendo es reversible o no. Hay dos ramas principales de Version Control Systems (VCS), centralizadas y distribuidas.
Los VCS centralizados se basan en el uso de un servidor central, donde todos "revisan" un proyecto, trabajan en él y "comprometen" sus cambios al servidor para que los demás los utilicen. Los principales VCS centralizados son CVS y SVN. Ambos han sido muy criticados porque "fusionar" "ramas" es extremadamente doloroso con ellos. [TODO: escriba una explicación sobre qué ramas son y por qué la fusión es difícil con CVS y SVN]
Los VCS distribuidos permiten que cada uno tenga su propio servidor, donde puede "extraer" los cambios de otras personas y realizar cambios de "inserción" en un servidor. Los VCS distribuidos más comunes son Git y Mercurial. [TODO: escriba más sobre Distributed VCS]
Si está trabajando en un proyecto, recomiendo usar un VCS distribuido. Recomiendo a Git porque es sorprendentemente rápido, pero ha sido criticado por ser demasiado difícil de usar. Si no te importa usar un producto comercial, se supone que BitKeeper es fácil de usar.
Yo comenzaría con:
Luego, una vez que haya leído sobre ella, descargue e instale SVN , TortoiseSVN y lea los primeros capítulos del libro y comience.