Pregunta

Estoy buscando buenas sugerencias sobre cómo implementar la versión y el control de código fuente para proyectos web.

He mirado en la subversión, pero parece que sólo se ocupan de código.Estoy buscando algo que puede hacer una buena versión-ing, ramificación, archivo, etc.no sólo el código fuente, pero otros recursos web como archivos de arte, clips de película, e incluso de la base de datos de copias de seguridad.

Trabajamos en una mezcla de mac/pc medio ambiente, por lo que Visual Source Safe o cualquier cosa puramente basado en PC sería el no va más.Alguna ayuda?

¿Fue útil?

Solución

Todos los sistemas de control que he usado (CVS, subversion, git) se encargará de archivos binarios así como el texto.Si estás trabajando con diseñadores de la versión limitada de control de la experiencia, ahora subversion tiene una mejor elección de GUIs.En el PC, no hay sustituto para el TortoiseSVN, y para el Mac he oído cosas buenas acerca de Las versiones.

Otros consejos

¿Qué te hace pensar que no puede versión, rama, archivo, etc...los archivos gráficos con la Subversión?

He usado Subversion para mis programas, que incluyen gráficos, y parece que manejarlos bien.(Bien, la distinción es un problema, pero no he oído hablar de una buena imagen-distinción del programa.)

Usted puede agregar cualquier tipo de archivo a la subversión.Si son archivos binarios, es la versión guardada es simplemente una copia, mientras que los archivos de texto sólo se guardarán las diferencias;sin embargo, el ahorro de los otros tipos de ficheros de subversion está perfectamente bien.

Utilizando el shell complementos (Tortuga en Windows) hace que esta bastante fácil.Yo no tengo experiencia con clientes de Mac, pero me imagino que hay opciones ahí fuera.

Los otros han señalado que la Subversión y sus parientes no tienen problemas para lidiar con los archivos binarios (aunque no casi como espacio de manera eficiente como texto).La base de datos de copia de seguridad requisito es más interesante, y que yo he venido para arriba contra más de una vez.

Idealmente, me gustaría una representación de texto de la diferencia entre dos versiones de una base de datos (esquema y los datos).La aplicación de ese diff llevaría de una versión a la siguiente.La fuente de control del motor sólo podía tienda que con cada commit.Rieles de las migraciones es una ingeniosa forma de manejar el esquema de diferencias, pero no he visto nada de lo que puede manejar completa el esquema y los datos de los diffs en un formato de texto simple.

En su defecto, supongo que se podría comprobar en un texto volcado de base de datos como el tipo de la mysqldump comando de MySQL genera.El control de código fuente de la herramienta diff algoritmo probablemente no manejar de forma eficiente, pero es probable que se requieren menos espacio que la comprobación en un sobre opaco binario archivo de base de datos.

Yo todavía uso de Subversion, y en Windows yo uso TortoiseSVN que incluye la TortoiseIDiff específicamente para observar las diferencias entre los archivos de imagen.

He estado usando git durante varias semanas, y se han convertido en muy aficionado a él.Es multiplataforma, maneja los conflictos de manera excepcional, y da a cada uno su propia versión completa repositorio, de modo que se puede comprobar en los cambios, incluso cuando no estén conectados a una red.

Una gran cantidad de proyectos de alto perfil están ahora usando git, como Ruby on Rails.

La subversión ha binarios precompilados para Mac OS X.También está disponible a través de MacPorts y Fink.Hay un par de grandes interfaces (aparte de la de la línea de comandos). svnX es una fuente abierta de cliente que ha estado alrededor por un tiempo, y como se mencionó Versiones es muy bonito de código cerrado cliente que se encuentra actualmente en beta.Usted todavía debe familiarizarse con la línea de comandos, como se ejecuta en los problemas que estos clientes de GUI que no puede resolver.

Subversion maneja archivos binarios muy bien.Lo he utilizado para proyectos web en el pasado, y con éxito, versionada de imagen y Flash archivos con el código que utilizan ellos.

Mac tiene algo que se llama "Versión" que es una subversión de interfaz de usuario como "Tortoise SVN" he encontrado que es fácil de usar y eficaz.

Yo trabajo en un Mac/PC medio ambiente como bien (dang artística de los niños) y la subversión realmente es el camino a seguir.Sigo todos los textos, imágenes, consultas, y el código allí.

A mi no techie compañeros de trabajo resultó fácil de usar una vez me explicó el concepto.

Definitivamente, me gustaría dar la subversión otra mirada.Sé que puede ser aburrido, pero la lectura de la SVN Libro va a ayudar a salir de toneladas.

Yo personalmente uso las Versiones para Mac.Tiene una gran interfaz de usuario para interactuar con una subversión de los repos.

Yo lo que hago es descargar el /directorio Trunk de un proyecto en la raíz del sitio.De que manera puedo probar y ejecutar la copia de trabajo como mi real dev instalación.Una vez que estoy listo para ir a vivir puedo exportar los archivos de la repo de sans .svn carpetas y subir a una producción o servidor de ensayo.Espero que esto te da una idea de qué tipo de flujo de trabajo que puede tener el uso de subversion.

Creo svn es una gran opción, algunos usuarios pueden incluso utilizar git para hacer locales de ramificación.Puedo ejecutar eclipse en mi mac, así que uso un combo de git, svn de la línea de comandos, y subversiva (un plugin de eclipse para svn).Aquí está una lista de mac svn clientes (la mayoría son de plataforma cruzada)

http://scplugin.tigris.org/ como TortoiseSVN, pero no como los ricos de la característica)
http://subcommander.tigris.org/
http://rapidsvn.tigris.org/
http://www.versionsapp.com/
http://www.syncrosvnclient.com/ (no libre $59)
http://www.lachoseinteractive.net/en/community/subversion/svnx/features/

Para utilizar el control de código fuente con una base de datos, usted probablemente tendrá que producir un texto basado en la representación del esquema y de los datos.Usted debe tener presente que se ejecute automáticamente una vez al día y enviar los cambios al repositorio.

Tenga en cuenta que un DBMS puede cambiar el orden de las filas en una base de datos para realizar algunas de las operaciones más eficientes.Esto podría llevar a dos volcados buscando diferentes sin necesidad de tener datos diferentes.Asegurarse de que lo que crea el volcado de los datos se clasifican por la clave principal de cada tabla, y que el conjunto de tablas en un orden definido, por lo que los cambios que usted ve cuando usted diff 2 vertederos son sólo los cambios importantes.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top