¿Cómo debo configurar mis repositorys Git para poder enviar y aún tener un directory de trabajo en ambos lugares?

Tengo una computadora portátil personal y una caja de desarrollo y quiero una configuration con las siguientes cosas en mente:

  1. Quiero que mi código funcione en ambas máquinas. (Eso significa que no puedo tener --bare repo.)
  2. Quiero desarrollar en mi computadora portátil.
  3. Quiero presionar a la casilla de desarrollo de vez en cuando.
  4. Esto es principalmente para el desarrollo web.

Intenté inicializar un repository de Git con código en la caja de desarrollo y cloné en mi computadora portátil. Sin embargo, no pude insert cambios en la caja de desarrollo. Me da el error de que estoy presionando para un repo no descubierto.

Luego probé --bare repo y funcionó, pero luego no puedo ejecutar el código sentado en la caja dev. (¿O puedo?)

¿Alguna idea sobre cómo lograr este tipo de configuration?

Una forma de resolver esto es crear un tercer repository (que se puede considerar como el repository "principal") que es --bare . Para compartir cambios, puede acceder al repository simple desde una máquina y extraer desde la otra.

Si coloca este repository simple en el buzón web, puede configurar un gancho post-commit para extraer automáticamente los files del repository principal al repository (no pelado) que utiliza el server web.

Por lo general, no configuro un enlace posterior a la confirmación, pero mi flujo de trabajo generalmente es:

  • hacer cambios localmente (computadora portátil en su caso)
  • Asegúrate de que funcione en el entorno de testing
  • cometer
  • push to bare repo
  • en el server web, extraiga del repository desnudo en el directory de trabajo