Mejor opción
Probablemente la forma más limpia, menos confusa y más segura de ingresar a su repositorio remoto no desnudo, es empujar a ramas dedicadas en el control remoto que representan las ramas de su computadora portátil.
Veamos el caso más simple y supongamos que tiene solo una rama en cada repositorio: maestro. Cuando presiona al repositorio remoto desde su computadora portátil, en lugar de presionar master -> master, presione master -> laptop-master (o un nombre similar). De esta forma, la inserción no afecta a la rama maestra actualmente desprotegida en el repositorio remoto. Para hacer esto desde la computadora portátil, el comando es bastante simple:
git push origin master:laptop-master
Esto significa que la rama maestra local será empujada a la rama llamada "laptop-master" en el repositorio remoto. En su repositorio remoto, tendrá una nueva rama llamada "laptop-master" que luego podrá fusionar con su maestro remoto cuando esté listo.
Opción Alterna
También es posible simplemente presionar master -> master, pero generalmente no se recomienda presionar a la rama actualmente desprotegida de un repositorio no descubierto, porque puede ser confuso si no comprende lo que está sucediendo. Esto se debe a que empujar a una rama desprotegida no actualiza el árbol de trabajo, por lo que git status
al registrar la rama desprotegida que se introdujo se mostrarán exactamente las diferencias opuestas a lo que se empujó más recientemente. Sería especialmente confuso si el árbol de trabajo estuviera sucio antes de realizar el empuje, lo cual es una gran razón por la cual no se recomienda.
Si quieres probar simplemente presionando master -> master, entonces el comando es solo:
git push origin
Pero cuando regrese al repositorio remoto, lo más probable es que desee hacer un git reset --hard HEAD
para sincronizar el árbol de trabajo con el contenido que se envió. Esto puede ser peligroso , porque si hay cambios no confirmados en el árbol de trabajo remoto que desea mantener, los eliminará. ¡Asegúrese de saber cuáles son las consecuencias de esto antes de intentarlo, o al menos haga una copia de seguridad primero!
EDITAR Desde Git 2.3, puede utilizar "push-to-deploy" git push: https://github.com/blog/1957-git-2-3-has-been-released . Pero empujar a una rama separada y luego fusionar suele ser mejor ya que hace una fusión real (por lo tanto, funciona con cambios no confirmados al igual que la fusión).