repositorio git en la máquina local para acceder desde la computadora portátil

Me gustaría tener la siguiente configuración para trabajar con git: para un proyecto determinado, me gustaría tener mi repositorio de "origen" en un directorio de mi computadora de escritorio en el trabajo ($desktop). Entonces me gustaría poder acceder, extraer y enviar desde este repositorio desde casa o en cualquier otro lugar ($laptop).

Por lo que he visto en otros preguntas el proceso normalmente implicaría crear un repositorio de git desnudo en mi escritorio usando

$desktop > git init -bare

Sin embargo, tengo entendido que esto produciría un repositorio sin un directorio de trabajo. no quiero esto Quiero que mi repositorio sea específico del proyecto, que esté ubicado en un directorio determinado tanto en mi computadora de escritorio como en mi computadora portátil y que realice un seguimiento solo de las cosas que mantengo en un árbol de directorios determinado. Aparentemente, esto es problemático con git y que uno "nunca" debe ingresar a un repositorio normal.

¿Hay alguna manera de resolver esto?

preguntado el 04 de julio de 12 a las 09:07

3 Respuestas

Tiene razón en que no se recomienda enviar a un repositorio con un check-out; eso se debe a que la inserción no actualizará los archivos extraídos, por lo que el estado del repositorio puede volverse confuso muy fácilmente.

Una forma fácil de evitarlo es crear dos repositorios en su escritorio: uno simple al que puede enviar desde su computadora portátil y un repositorio de trabajo que usa cuando desea codificar en el escritorio. Otra forma es hacer que el repositorio de su computadora portátil sea visible desde su escritorio, para que pueda acceder en ambas direcciones.

Tenga en cuenta que incluso si está ingresando a un repositorio simple, no hay nada que le impida extraer primero de su repositorio de trabajo, por lo que siempre puede estar actualizado con lo que estaba haciendo en su escritorio.

Respondido 04 Jul 12, 10:07

Una posibilidad es simplemente extraer de su repositorio normal en su escritorio, pero en lugar de empujar directamente a la rama desprotegida allí, empujar a alguna otra rama que es solo para recibir actualizaciones en su computadora portátil y luego fusionarlos por separado.

Esto es:

laptop$ git clone desktop:path/to/project
laptop$ cd project
[... make changes...]
laptop$ git push -f desktop:path/to/project master:from-laptop

desktop$ cd path/to/project
desktop$ git merge from-laptop

Puedes configurar branch.master.push master:from-laptop en el repositorio de su computadora portátil para que git push empujará de acuerdo con esa especificación por defecto.

Respondido 12 Jul 12, 18:07

En su repositorio de escritorio, debe agregar su .git/config:

[core]
   sharedRepository true

[receive]
   denyCurrentBranch false

La primera configuración le permite ingresar al repositorio, la segunda le permite ingresar a la rama en la que está desprotegido el repositorio remoto.

Espero que esto ayude !

Respondido 04 Jul 12, 11:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.