¿Usa algún tipo de control de versiones cuando trabaja solo y con pequeños proyectos?

30

Muy a menudo estoy trabajando en proyectos pequeños solo para mí. Estoy trabajando en una máquina, pero recientemente pensé en utilizar algún tipo de control de versión. Esto tendría algunos beneficios como por ejemplo:

  • Ya no tengo que preocuparme por el respaldo local
  • Los errores se pueden deshacer fácilmente
  • La historia puede mantenerse

Pero, por otro lado, también tiene algunos inconvenientes como, por ejemplo:

  • Recursos adicionales requeridos
  • Es hora de configurar, acostumbrarse, etc.

Según su experiencia, ¿es bueno usar el control de revisión cuando trabaja solo?

RoflcoptrException
fuente
Mis dos centavos: uso Mercurial y NetBeans y la parte más valiosa del VCS que uso (Mercurial) es poder hacer cambios, revisarlos y borrarlos (commit) (archivos a la vez o todo el proyecto) en mi tiempo libre (NetBeans tiene una diferencia gráfica que funciona con Mercurial) Me ayuda a controlar lo que acabo de hacer. Nuestra empresa tiene un historial diferente y un sistema de respaldo, por lo que generalmente no lo uso para ese propósito.
Bryan Field

Respuestas:

46

Sí.

Todo lo que se necesita es un solo error y te patearás por ello. También está en condiciones de elegir qué sistema de control de versiones (VCS) se utiliza. Si existe alguna posibilidad de que trabajes en un equipo de desarrollo en el futuro, este es un buen momento para darte experiencia práctica con un VCS. SVN y Git (o Mercurial) serían excelentes puntos de partida y solo deberían tomar un par de horas para comprender los comandos básicos en cada VCS.

Ahora para desacreditar cuáles son los puntos negativos ...

1) Recursos adicionales requeridos

El único recurso requerido es el espacio en disco. Dado que este es un pequeño porcentaje (más pequeño en Git que X ) de su código total, no creo que esto sea un problema. Tampoco cuesta dinero.

2) Tiempo para configurar, acostumbrarse, etc.

Habrá tiempo necesario para aprenderlo, pero solo son unas pocas horas para cada uno de ellos (como se mencionó anteriormente). A largo plazo, tiene el potencial de ahorrarle una cantidad infinita de tiempo (y mucho más). Una vez que haya dominado los conceptos básicos de un VCS, será mucho menos complicado que realizar la copia de seguridad local que tiene en mente.

Jonathan Khoo
fuente
55
+1: Muy buenos puntos. Sin embargo, no recomendaría svn: no permite que uno cometa cambios cuando no está conectado a Internet, lo que a veces puede ser una restricción importante. Recomendaría Git (para usuarios avanzados) o Mercurial (para un sistema más simple).
Eric O Lebigot
77
Otro voto para Mercurial.
Chris Holmes
44
@EOL, SubVersion es viable en este caso. Si el repositorio es local, no se requiere una conexión a Internet para realizar confirmaciones. (Aunque sugeriría que el repositorio debe estar al menos en una unidad separada de la unidad de desarrollo).
Ken Henderson
1
@EOL: Ah sí, olvidé incluir Mercurial porque no lo he usado antes; editará ahora Si bien (después de usar Git) no tocaría SVN si tuviera que hacerlo, SVN todavía se usa ampliamente.
Jonathan Khoo
1
@ken svn con un repositorio local en Dropbox es ideal para un solo usuario
Martin Beckett
13

Sí. Úselo para todo. Úselo para cada documento que escriba en Word. Úselo para todo el código que escriba. Úselo para cada imagen que cree.

Además, una vez que aprenda a usarlo, estará mejor cuando trabaje en un entorno de equipo.

davidhaskins
fuente
44
El único problema con Word es que está en formato binario, por lo que no puede hacer un diff; Otra razón para usar LaTeX.
gablin
¿Cuál sería el punto de usarlo con imágenes?
Torre
por ejemplo WinMerge puede diff documentos de Word y Excel
Simon
2
@Rook: el punto de usarlo con imágenes es que si editas una imagen, siempre puedes volver a la versión anterior si es necesario.
Alex D
9

Me encanta usar Git cuando trabajo solo. Por ejemplo, cuando trabajo en PHP, solo hago un repositorio de Git en mi directorio local que Apache está sirviendo. Puedo comenzar a trabajar fácilmente en una nueva función (en una rama) y probarla en mi máquina local. Entonces, si surge algo y necesito hacer una "reparación de emergencia", es tan simple como:

git checkout master

Voila! Mi directorio de trabajo vuelve al estado anterior a mi sucursal. Puedo hacer la solución rápida. Cuando termine, puedo volver a la rama y seguir desarrollándome.

La curva de aprendizaje no es muy empinada, y hay mucha información en línea para ayudarlo a comenzar. Cavar en eso. Vale la pena.

TaylorOtwell
fuente
Git junto con GitHub o Gist valen el esfuerzo para proyectos en solitario. Te protegen de ti mismo y hacen que sea realmente fácil obtener ayuda cuando estás listo para que otros se involucren.
Rob Allen
5

El registro de cambios le brinda un buen lugar para documentar sus cambios, sin saturar la fuente.

Joris Geer
fuente
2

Ve por algo alojado como SourceRepo. No es demasiado costoso, pero el uso del control de fuente hace que deshacer errores y revertir el código sea mucho más fácil.

Y puede acceder a él desde cualquier lugar si lo necesita.

James Love
fuente
44
es posible que desee tener cuidado al cargar la propiedad de la empresa en servidores externos. Puede estar bien con algunas compañías, pero otras lo desaprobarán.
davidhaskins
1
Buen punto a tener en cuenta. Submitter dijo proyectos para sí mismo, por lo que supuse que era para uso personal, pero definitivamente asegúrese de que los gerentes de línea conozcan el sistema con el que deciden ir (especialmente si son fóbicos en la nube).
James Love
2

Siempre usé git para mi desarrollo, hasta que me di cuenta de que también podía usarlo para otras cosas. Así que prueba git, te da un repositorio real, sin la necesidad de un servidor y una conexión constante (eso es una gran ventaja para mí); no distribuye los subdirectorios de su proyecto con archivos y carpetas ocultos, en cambio solo hay una carpeta en la parte superior del proyecto; puedes tirarlo todo y clonar lo que quieras y fusionarlos nuevamente, eso simplemente funciona.

Coyote21
fuente
2

Si está buscando soporte gratuito y de código cerrado, echaré un buen vistazo a Visual Studio Online. Es gratis para hasta 5 desarrolladores, y estar solo ... bueno ... sí. Esta es una publicación 4 años después, por lo que su situación probablemente ha cambiado, pero para otros desarrolladores individuales que buscan un control de fuente fácil, VSO es una de mis opciones favoritas si no quiero exponer mi código fuente. IIRC Github es gratis solo para material de código abierto, pero su precio es muy económico. Tanto VSO como Github se integran muy bien con Visual Studio, si ese es su IDE de elección.

Bill Sambrone
fuente
¡Y VSO ahora admite Git! ¡Adiós viejo y torpe TFVC!
RubberDuck
1

Siempre configuro el control de origen para mis propios proyectos, con un entorno de integración continua y también para construir / ejecutar pruebas unitarias / ejecutar comprobaciones de integración cada vez que me registre. Además, si es una aplicación web o un servicio de Windows, tengo que implementar objetivos también. Me he ahorrado innumerables horas depurando e implementando utilizando este método y no es nada comparado con la configuración inicial.

aceinthehole
fuente
1

Otra característica que es realmente genial sobre los repositorios es que puedes hacer experimentos / características realmente arriesgadas en otra rama. Si funciona, puede fusionarse como parte de su código principal. Si no es así o si se le acaba el tiempo, puede abandonarlo (guardarlo) y volver a su código principal con la opción de volver a él más tarde sin que estropee su base de código principal.

teoría del caos
fuente