¿Usando Control de versiones para el desarrollo del hogar?

138

Hasta ahora, he estado desarrollando mis proyectos personales y escolares en casa sin utilizar ningún tipo de software de control de revisiones para manejar mis cambios y demás.

Mi pregunta es, ¿qué tan factible es usar una aplicación de Control de versiones (como TortoiseSVN ) para proyectos personales que hago para mí (e incluso proyectos escolares)?

¿Vale la pena la molestia de registrarse, confirmar cambios y toda esa rutina, solo para 'proyectos en casa' en lugar de solo hacer copias de seguridad manuales?

Enlaces :

Peter Mortensen
fuente
2
¡Es mucho más fácil usar el control de fuente que hacer copias de seguridad manuales! Quizás sea más fácil aprender a hacer copias de seguridad manuales que aprender a usar el control de código fuente.
yfeldblum
1
Puedo recomendar VisualSVN, muy fácil de usar. Y su servidor de subversión es gratis :) ( visualsvn.com )
Svish
Use un servidor alojado en su lugar, obtendrá cero mantenimiento + copia de seguridad. Uso Unfuddle: stackoverflow.com/questions/430742/…
ripper234

Respuestas:

191

Completamente.

Créditos también a http://blogs.embarcadero.com/nickhodges/2010/04/23/39416 :

  • A veces cometemos estúpidos errores. Tener una red de seguridad de control de fuente es imprescindible.
  • Etiquete hitos importantes. Incluso en el desarrollo del hogar, es posible que desee marcar un conjunto de archivos y revisiones como una versión de software específica.
  • Entrenas para tu vida profesional.Poner en su mente la metodología de trabajo asociada con el uso del control de código fuente lo prepara profesionalmente.
  • Eficiencia de almacenamiento. Los sistemas de control de fuente actuales almacenan revisiones como una diferencia delta con respecto a la revisión anterior. Esto significa que es más eficiente en el disco ya que no se almacena todo el archivo sino solo las diferencias.
  • Tienes el historial de todo tu árbol fuente. Puede ver rápidamente qué se modificó y cuándo se modificó. Compare archivos de diferentes revisiones y combínelos fácilmente.
  • Puedes ramificarte para experimentar. Si tiene algunos experimentos en mente, puede crear una rama (una nueva línea de desarrollo independiente) y probarla. Al final, si está satisfecho con los resultados, combínelo en HEAD (línea principal de desarrollo). Obtiene todo esto de forma gratuita sin tener que crear una copia y recibir los mismos beneficios de usar el control de origen incluso mientras experimenta.
smink
fuente
13
Solo una cosa para agregar: siempre que el sistema de control de versiones esté en una máquina remota, proporciona una copia de seguridad en línea simple de su trabajo.
NotMe
Concuerdo completamente. Cada vez que tiene que aprovechar una sola de estas características, ya ha recuperado el menor costo de usar el control de fuente en primer lugar.
Chris Farmer
La viñeta 4 no es aplicable a git. git está optimizado para combinar el rendimiento, y el almacenamiento de diferencias no es beneficioso para este objetivo. en estos días se supone principalmente que tiene suficiente espacio en disco para su código fuente. Sin embargo, todos los demás puntos son razones para usar cualquier control de fuente y, por supuesto, git los satisface a todos.
SingleNegationElimination
Una vez más, recomiendo git, especialmente para los puntos 2. 5. y 6. git tiene una interfaz muy buena para etiquetar, ramificar, fusionar, etc. y algunas de las herramientas gráficas como qgit o gitk hacen que sea muy fácil ver cómo las ramas encajan entre sí ... también es fácil convertir su directorio de trabajo actual (no versionado) en un directorio git con 3 comandos: git init, git add., git commit
David Claridge
Si su proyecto personal es lo suficientemente grande como para que el punto 4 (eficiencia de almacenamiento) sea importante, definitivamente necesita control de fuente.
Tikhon Jelvis
31

Vale totalmente la pena.

Tenga en cuenta que tampoco tiene que configurar un servidor SVN completo. Puede crear un repositorio en el sistema de archivos local y conectarse con el archivo: // Sintaxis de URL. Esto significa que no tiene que pasar por la molestia de configurar un demonio SVN (que probablemente sea excesivo para un proyecto de usuario único)

También puede buscar opciones más livianas como git que mantienen todos los archivos de trabajo localmente sin tener que crear un repositorio separado. Git también le ofrece algunas opciones más sobre cómo configurar su control de origen en la pista.

madlep
fuente
1
Recientemente probé git porque un proyecto que estaba siguiendo lo usó. Inmediatamente cambié a git para mis proyectos personales y laborales tan pronto como vi lo simple y rápido que es. Muy recomendable.
Dave Sherohman
8

Usar el control de fuente también es bueno para propósitos de respaldo. Si siempre revisa todo, puede hacer una copia de seguridad de todos sus proyectos de código fuente haciendo una copia de seguridad de todos sus repositorios. Si tiene varias máquinas, entonces no tiene que preocuparse de dónde está realmente la última versión de su código: está en el servidor del repositorio.

Greg Hewgill
fuente
6

He mantenido toda mi tesis de maestría bajo el control de la fuente, tanto el código como la tesis misma, por lo que soy un gran defensor de hacer esto, y no solo del código.

Para proyectos individuales, la principal ventaja es la libertad de cambiar las cosas y experimentar, sabiendo que siempre puede volver a la versión anterior si no funciona. Y le brinda copias de seguridad implícitas de su trabajo (solo asegúrese de que su repositorio svn esté al menos en un disco duro diferente al de su trabajo principal)

Kena
fuente
5

Absolutamente, vale la pena hacerlo. Te da la posibilidad de probar refactorizaciones salvajes y locas, y luego salir de ellas con facilidad si no funcionan. También establece buenos hábitos para si / cuando trabajas más en colaboración con un grupo.

Con Subversion (al menos) ni siquiera necesita tener un "servidor": un directorio simple puede servir como su repositorio si accede a él con urls de tipo "file: //". Incluso hay un libro gratuito que contiene casi todo lo que necesita saber para comenzar:

http://svnbook.red-bean.com/nightly/en/index.html

Sistema límbico
fuente
4

Encuentro que es extremadamente útil tener una configuración de servidor SVN porque me encuentro volviendo a revisar y otros proyectos 'desechables' porque recordé alguna función o forma de hacer algo que podría usar ahora. Al tener el servidor SVN, sé que el código se almacena en casa y puedo recuperarlo más tarde.

Bryan Rehbein
fuente
4

El control de revisión es excelente porque te permite ser más experimental, sabiendo que si tus experimentos fallan, tienes algo a lo que recurrir.

dreamlax
fuente