2010-02-09 13 views
5

Soy un novato en el mundo git, quiero preguntar cómo resolver mi problema de flujo de trabajo, básicamente tengo 2 computadoras, una en la oficina y otra en casa, y también tengo una vps trabajando como mi repositorio compartido de git. Cuando trabajo en la oficina, tengo un código sin terminar, y quiero continuar trabajando en casa, por lo que generalmente me comprometo primero en la oficina y llevo mi trabajo al repositorio compartido de git, y después de eso me retiraré en casa y continuarloGit - Preservar el trabajo sin compromiso

Pero a veces, simplemente no me iba directo a casa, y mientras tanto, uno de mis compañeros de trabajo, sacaba el código y trabajaba con él, y él simplemente me gritaba porque había cometido un código dañado. Entonces mi pregunta es, ¿cómo cambio la computadora sin comprometerme, pero todavía tengo mi trabajo sin terminar?

+6

no lo inserte en el repositorio compartido y lo ingrese directamente desde su repositorio de trabajo; opción dos, configure su propio depósito 'central' o tercera opción trabaje en una sucursal. Lo que te parezca más natural, pero aún tienes que comprometerte. – falstro

Respuesta

11

Realice todo su trabajo en su propia sucursal, informe a su compañero de trabajo que no se retire de esa sucursal. Esto podría complicarse si tienes muchos desarrolladores, pero con solo dos personas no debería ser un problema en absoluto.

+0

trabajando en su propia rama también le permite restablecer/volver a establecer/eliminar confirmaciones, lo que quiera hacer – knittl

+0

Eso no importa. Nunca debes restablecer/volver a establecer/eliminar una confirmación que hayas enviado, incluso si estás seguro de que eres el único que la está usando. Si no ha empujado, puede volver a basar libremente, etc. las ramas de cualquier otra persona sin causar ningún problema. – kubi

0

Como dijo kubi, use una sucursal privada. Si no quiere empujar código roto en el repositorio en absoluto, puede enviarse por correo electrónico los cambios como un parche (uso git format-patch), que se aplican en casa y trabajar desde allí (con git apply)

recordar también que se puede usar git commit --amend para sobrescribir una confirmación "medio horneada" con una correcta, lea para ser enviada al repositorio compartido.

2

Cuando trabajo con más de mí en un proyecto, utilizo mi propia rama. Entonces, si tengo un código que aún no está terminado, lo comprometo y lo envío a mi propia sucursal. Cuando creo que este código está listo para usar, lo comprometo con una rama de trabajo común. Después de probarlo aquí, lo fusionamos con la rama principal.

Ejemplo:

rama principal: Probado por todo el mundo. Rama de WIP: rama de trabajo en progreso común, rama donde todos pueden usar el código y probarlo. WIP-Bright: Mi propia sucursal WIP-alguien: Sucursal de otra persona.

El uso de este git cheatsheet hace que trabajar con git sea mucho más fácil.

0

Si no puede configurar la red y los repositorios para que pueda desentenderse del trabajo en su casa y comenzar a trabajar (consulte la sección "¿Cómo usaré" git push "para sincronizar desde un host que no puedo extraer? 'en la página GitFaq en Wiki de Git), y tampoco puede configurar su propio repositorio' de publicación 'usado por usted para intercambiar entre el trabajo y el hogar, eche un vistazo a git bundle, que está destinado para el transporte fuera de línea (sneakernet).

Esto podría no ser una respuesta directa a su pregunta, pero espero que ayude.

Cuestiones relacionadas