He encontrado que SVN es extremadamente útil para documentación, archivos personales, entre otros usos de código no fuente. ¿Qué otros usos prácticos ha encontrado para los sistemas de control de versiones en general?¿Utiliza el control de versión que no sea para el código fuente?
Respuesta
que he visto de control de versiones que se utilizan para otros fines de código fuente, no como,
- archivos de esquema - un conjunto de archivos de esquema XML que representan un esquema mundo real
- Los archivos de contenido - contenido representada en un formato específico, esto está vinculado a un diseñador en VStudio, utilizando control de código fuente, permite que la historia, rollbacks todo, sin la interacción de base de datos
en los dos casos nos damos cuenta de que es básicamente archivos detallados, las razones principales para tener estos archivos s en el control de código fuente en lugar de "registros de texto en la base de datos", es que
- archivos que podrían necesitar capacidad de comparar las versiones
- historia (porque varios usuarios trabajan en ellos)
- capacidad de revertir a una versión anterior
- etiquetado y libera al obtener una etiqueta específica
- si utiliza Team Foundation (TFS), el conjunto de plantillas de scrum con elementos de trabajo, etc
- ninguna base de datos involucrados, ningún desarrollo adicional para todos los a bove
Edito una gran cantidad de documentos en LaTeX, entonces uso SVN para almacenar los archivos e imágenes de tex y más. Es útil para hacer Difuntos, y con suerte me salvará si tengo un desastre.
Tengo una carpeta en la ruta llamada bin con herramientas útiles como las de sysinternals y otras. Yo uso svn para mantenerlos actualizados en diferentes máquinas. Además, cosas como los scripts de PowerShell, los archivos vimrc, etc. son geniales para mantener centralizados.
Nunca pensé en usarlo para cosas personales, pero en proyectos de software, comprobé casi todo lo que no se puede regenerar en una fecha posterior (ejemplos de esto incluyen ejecutables y documentos generados por código). La documentación siempre se registra. Las presentaciones a los clientes se registran y etiquetan junto con la base de código utilizada para la demostración, si hubo una demostración.
Estoy pensando SVN y CVS no son "amigos" lo suficiente como para usuarios no técnicos, pero tengo curiosidad ahora que la utiliza, posiblemente, para el control de versiones para proyectos de ingeniería no ...
En general, todo lo que el proceso de construcción necesita lo pongo en el control de la fuente. El único problema que surge es si tiene resoruces preparados por otros departamentos, p. Marketing, que va en su instalación, por ejemplo.
La mayoría de la documentación será vista por más de un par de ojos humanos. Es increíblemente útil, por ejemplo, durante las fases de planificación del proyecto cuando el analista actualiza el documento de requisitos y le gustaría ver qué cambió desde la última vez que lo vio. Los wikis también tienen esta funcionalidad, natch. Utilizamos SharePoint para estos fines, pero elija su proveedor.
En uno de mis primeros trabajos, utilizamos CVS para el control de revisiones de DNS. Era principalmente una forma barata y sucia de hacer una copia de seguridad de los archivos de zona.
También he oído hablar de personas que usan un sistema de control de versiones para sus directorios personales.
Durante mi último semestre en la escuela, tomé dos clases, cada una de las cuales tenía un gran proyecto que exigía mucho tiempo al final del semestre. Ambos también requirieron varios papeles largos durante el semestre. Hice un uso intensivo de SVN para ambas clases para rastrear cada cambio que hice en cada papel y proyecto.
Soy más un tipo de persona que escribe "todo a la vez" cuando se trata de escribir, y tiendo a perder la cabeza cuando intento extender el proceso en varias sesiones. Ser capaz de diferir las últimas revisiones de mis documentos me facilitó volver a encarrilarme.
Uso el control de revisión para casi todos mis documentos para cualquier propósito.
Estoy usando Mercurial, por lo que la creación de un nuevo repositorio en un directorio determinado es una cuestión de un simple "hg init", que me pareció mucho menos complicado que configurar un nuevo repositorio de Subversion.
También he descubierto que RCS es excelente en cualquier situación en la que necesite sincronizar archivos: ahora estoy usando eso en lugar de rsync para todas mis necesidades de sincronización. También es más fácil hacer copias de seguridad: clonar un repositorio en otra ubicación/máquina/disco significa que puedo simplemente enviar los cambios a esa ubicación, lo que es aún más fácil con un repositorio de inserción predeterminado. Si no modifica en el repositorio remoto, entonces ni siquiera tiene que preocuparse demasiado por configurarlo de manera diferente a la predeterminada.
Una de las mejores cosas para mí es que puedo tener sincronización, copias de seguridad o lo que sea en cualquier sistema al que tenga acceso SSH. (¡Bueno, si me instalaran mercurial en Uni, podría!)
Sí, tengo un directorio doc en git. Contiene una lista de tareas pendientes, un calendario y algunos otros documentos.
Uso el SVN para verificar los cambios en los archivos de configuración del servidor Asterisk VOIP. Tengo un repositorio con una carpeta que corresponde a cada uno de varios servidores. Esa carpeta contiene todo el contenido de/etc/asterisk.
He utilizado Subversion para todo, desde control de fuente, entornos de compilación, scripts de instalador y toda esa bondad de desarrollo. También he configurado un repositorio para usuarios no técnicos para archivos binarios, en este caso documentos antiguos de Excel y Word. Funcionó bien teniendo en cuenta que perdimos cualquier funcionalidad de fusión. Pero permitió a todos nuestros usuarios obtener una tonelada de información que fue editada principalmente por dos o tres personas con bastante facilidad. Y con instrucciones sencillas sobre cómo actualizar antes de realizar cualquier edición (bloqueo si es necesario) y luego lidiar con conflictos (verificar qué se actualizó y luego eliminar su copia y realizar una actualización), pudieron manejar bastante bien el repositorio, aunque no estoy seguro de que alguna vez les haya gustado. :)
Utilizo mucho el control de versiones para archivos comunes, porque tengo una laptop, una máquina de escritorio en el trabajo y un escritorio doméstico en el que también trabajo mucho (trabajo desde casa dos días a la semana) .
Una nueva sesión en cualquiera de ellos comienza con un script llamado 'start' que actualiza un conjunto de cajas, y termina con un script llamado 'stop' que compromete algunas cosas a VCS, o me muestra al menos las modificaciones.
lo uso para:
- mi un archivo Organízate lista de tareas (ver yagtd, la herramienta que uso)
- mi base de datos contraseña (que debería haber enviado en esa sugerencia a la Stackoverflow podcasts en respuesta a la pregunta de Joel)
- todas mis notas y archivos al azar en proyectos
- un montón de hojas de cálculo (incluido uno que rastrea algún día las cosas personales por día)
- algunas imágenes (como los avatares web que uso)
Además, he escrito algo sobre Subversion para administrar los archivos de configuración para ambos sistemas y mis cuentas de usuario. Tengo tantas cuentas en tantas máquinas, y estaba cansado de volver a aprender cómo configurar mi shell/vim/... así que ahora también guardo la mayoría de esas cosas en control de versiones. Eso incluye archivos de firma de correo electrónico, un conjunto de scripts de shell en $ HOME/bin, ...
En mi empresa, el grupo de desarrollo pretende utilizar Subversion para casi todos los documentos electrónicos. Esto depende de poder "bloquear" los archivos que no se pueden fusionar, como los documentos de Excel. SVN proporciona la función "requiere bloqueo" y el flujo de trabajo de compilación, modificación y compromiso es razonablemente directo.
Los ingenieros de software están a bordo, pero hay cierta resistencia por parte de los ingenieros mecánicos. Quieren utilizar las funciones simultáneas de edición colaborativa de Excel, por ejemplo. No se han adaptado al bloqueo, a la modificación ni al compromiso del flujo de trabajo.
TortoiseSVN le permite diferenciar documentos de Word, que me parece extremadamente útil útil. También es compatible con la fusión al parecer, aunque he sido demasiado gallina para probar esa característica ...
Me gustaría considerar seriamente un DVCS como git o Mercurial. Pero a menos que pueda bloquear archivos de formato de archivo binario (es decir, no fusionables) (convirtiéndose así más bien en un modelo centralizado para dichos archivos), y/o combinar los formatos de archivo binario que usamos, no se ajustará al uso de mi compañía.
Deseo que todas las compañías de software proporcionen buenas herramientas de diferenciación y combinación para sus formatos de documentación patentados. Eso aumentaría el valor de los sistemas de control de versiones para formatos de documentos patentados.
http://stackoverflow.com/questions/119444/locking-binary-files-using-git-version-control-system –
- 1. ¿Utiliza el control de versión con código no jerárquico?
- 2. ¿Utiliza el control de versión distribuida?
- 3. ClearCase para el control de código fuente?
- 4. ¿Qué control de fuente/versión usar para el hogar?
- 5. ¿Existen herramientas de combinación para el control de código fuente que entienden el código?
- 6. Usos creativos para el control de versión
- 7. Control de código fuente para proyectos web
- 8. Mover el comando deshabilitado en el control de código fuente
- 9. ¿La mejor práctica para mantener el código fuente bajo control de versión con varias compañías?
- 10. El código fuente es diferente de la versión original
- 11. Virtualenv y control de versión de código fuente
- 12. práctica recomendada para almacenar archivos no fuente bajo el control de versión
- 13. Eclipse Guardar acciones en el control de código fuente
- 14. ¿Qué puede hacer que el código F # no optimizado sea más rápido que el código optimizado?
- 15. ¿Cómo hacer que el código fuente sea parte de la documentación XML y no violar DRY?
- 16. ¿Puedo hacer que el comportamiento de control sea el mismo para ZSH que para Bash?
- 17. Directrices para probar el código multiproceso o asegurarse de que el código sea seguro para subprocesos
- 18. ¿Cuál es el mejor producto de control de código fuente para el desarrollo de Visual Studio?
- 19. Búsqueda de licencia no comercial para el código fuente
- 20. IE8 Profiler de Javascript que no muestra el código fuente
- 21. Evitando que el código sea ejecutado por el usuario
- 22. Almacenamiento de contraseñas en el control de código fuente
- 23. Dónde comenzar con el control de código fuente
- 24. ¿Por qué este código que utiliza InternetSetCookie para establecer cookies en un control WebBroser no funciona?
- 25. Algoritmo para el sistema de control de fuente?
- 26. Otros usos del control de versiones que para el código?
- 27. Control de versión segura
- 28. ¿Cómo encuentro el código útil eliminado previamente pero todavía almacenado en el control de código fuente?
- 29. El mejor código fuente para Rubyist prometedor
- 30. Obtenga el tamaño de fuente del iPhone para que sea el mismo que el de otros navegadores
Hola Thomas, ¿podrías explicarme un poco más sobre la base de datos de "mi contraseña"? ¿Qué quieres decir? – Vin
Quizás esté hablando de una base de datos KeePass. –