2011-12-25 9 views
5

tengo un proyecto personal usando git que a menudo hacks a través de múltiples ordenadores, alojados en Github. Ya que trabajo en esto en casa, tiendo a ser interrumpido con bastante frecuencia. Estaré en medio de una declaración, y la cena estará lista o necesito cambiar un pañal. Y cuando regrese a la codificación, puedo estar en una computadora diferente. ¿Cuál es la mejor manera de obtener la versión más actualizada?sync'ing rápidamente espacio de trabajo git en todos los equipos

Creo que la respuesta más ortodoxa sería comprometerse y presionar. Me comprometo con bastante frecuencia, pero comprometerme aquí me parece desordenado. El código puede estar en un estado completamente roto donde estaba en medio de un pensamiento. Comprometerlo y publicarlo, incluso en una rama temática, no me parece correcto. También hay más pasos de los que yo preferiría.

Hasta ahora he estado usando DropBox. Pero esto parece haberme llevado a un índice corrupto. No es difícil de imaginar porque esas sincronizaciones pueden estar en diferentes versiones de git y diferentes sistemas operativos. Así que me temo que esto sale a la luz.

¿Alguien tiene una mejor alternativa?

+0

¿Quizás configurar gitolite en casa, como complemento de github? – fge

+1

Simplemente lo empujaría en esa rama temporal: siempre puedes eliminar la rama de GitHub nuevamente más tarde una vez que hayas arreglado las cosas. No tiene sentido complicar las cosas :) –

+0

Si sugieres @ StuartGolodetz, te sugiero que nombre a tus sucursales algo así como don't_clone_temp_feature_name, solo para minimizar la posibilidad de que alguien tome tu rama temporal. – wadesworld

Respuesta

0

Una solución sería utilizar un servidor privado. Pague una cuenta micro de GitHub, o simplemente use algún servidor al que ya tenga acceso. Entonces usted se comprometería y presionaría al servidor privado. Cuando el código esté listo, presionarás al servidor público después de aplastar/limpiar commits, etc.

1

Una alternativa al uso de Git para mantener una base de código sincronizada en todas las computadoras es mantener la base de código real en tu Dropbox. Esencialmente, es solo una carpeta local que está sincronizada, por lo que cualquier computadora en la que estés (siempre que hayas guardado tu trabajo actual) se sincronizará por ti. Se ahorra el paso de empujar y tirar a un repositorio git en dropbox.

+0

Sí, esto es lo que tengo estado haciendo, pero recientemente terminó con un índice corrupto. No estoy seguro de cómo sucedió. – mmalone

+0

@mmalone No, no me refiero a mantener un repositorio Git en Dropbox, sino sus archivos de proyecto reales. – Abizern

+1

@abizem Lo siento, tal vez me falta tu distinción. Estoy hablando del directorio con mi directorio de trabajo con código, que también incluiría el directorio '.git' y el índice dentro de eso. ¿Estás pensando en algo diferente? – mmalone

0

Sugeriría escribir un pequeño script para sincronizar los directorios necesarios con todas las máquinas especificadas. Debe ser muy simple y se puede alias, por lo que es solo un trazador de líneas de la terminal.

Donde trabajo hago esto a menudo, desarrollo en una máquina local usando vhost para probar, pero cuando tengo que probar en un dispositivo móvil, puedo sincronizar todo en el servidor de desarrollo público y usar el vhost allí desde el dispositivo móvil.

Cuestiones relacionadas