2011-06-16 25 views
35

Estoy tratando de usar git y tengo muchas computadoras. Normalmente trabajo en mi escritorio, pero a veces uso computadoras portátiles.¿Cómo se usa Git con varias computadoras?

¿Cómo se sincroniza el código fuente en git cuando va a casa del trabajo y no termina de trabajar en el código? ¿Envía un archivo de parche por correo electrónico o simplemente se compromete a completar los códigos incompletos?

Acepto que este último es más conveniente, pero creo que hace que el registro de cambios de git esté sucio.

+1

relacionado: http://programmers.stackexchange.com/questions/156309/working-with-git-on-multiple-machines – Memming

Respuesta

20

Comience su trabajo en curso y empújelo a una sucursal remota. Cuando esté listo para fusionarlo en su rama principal, puede usar una base de datos interactiva para reescribir su historial y eliminar las confirmaciones de "trabajo en curso".

+0

Gracias. El rebasamiento interactivo es lo que quiero. – Brian

+1

Con 1.7, hay una función --autosquash para volver a establecer. – jbruni

6

Git tiene un concepto de "remoto", como un servidor central para insertar todo tu código. Empujaría todos sus cambios al control remoto (por ejemplo, desde el trabajo), y luego, cuando llegue a casa, puede retirar los compromisos que hizo del trabajo.

GitHub es una excelente solución alojada de Git que le ahorrará el dolor de tener que configurarla usted mismo. Puede obtener más información sobre controles remotos, empujar y tirar desde ProGit.

En cuanto al trabajo "incompleto", puede usar una rama y empujar su rama al control remoto. Las ramas le permiten crear una "rama" de código fuera del maestro (algunas veces llamada troncal). Cuando haya terminado, puede fusionar todos los cambios nuevamente en el maestro. Puede leer más acerca de la ramificación here

+0

Los enlaces de ProGit parecen estar rotos, obtengo * '502 Bad Gateway' * – Wolf

+0

@Lobo reparado. ¡Gracias! – vcsjones

1

Lo que realmente necesita es un único repositorio del lado del servidor que esté disponible públicamente. Puede usar http://github.com/ para lo mismo. Github le permite crear repositorios públicos de forma gratuita, creando uno privado es una función de pago. Si desea configurar su propio servidor de repositorio, puede echarle un vistazo a https://github.com/sitaramc/gitolite, es bastante fácil de configurar.

Una vez que tenga un repositorio público, puede presionar desde su escritorio en el trabajo y luego, cuando esté en casa, en su computadora portátil, puede extraer para obtener la última.

6

Bueno, en primer lugar, es probable que desee asegurarse de que su empleador esté de acuerdo con esto ... puede que no les guste si lleva consigo el IP de la compañía. :-)

Las respuestas sobre tener un servidor dedicado como GitHub son buenas, pero te das cuenta de que estás limitado al código abierto (que dudo que tu empleador desee) o que tenga que pagar por un pequeño número de repositorios privados ($ 7 por 5 repositorios privados, actualmente).

IMO lo más simple para mantener una copia de su git repo en su teléfono o una memoria USB, agregando el repositorio principal como control remoto. Sincronice este repositorio con el principal antes de irse a casa. No necesita configurar un servidor; git funciona felizmente en el nivel del sistema de archivos.

+0

Tengo un servidor git remoto privado para que las partes no sean un problema. Pero tu idea de mantener el código de git repo en un dispositivo de memoria es brillante, voy a intentarlo. – Anake

Cuestiones relacionadas