¿Cómo funcionan los controles remotos de git?

Si tengo un proyecto principal que está controlado por versión.

Luego agrego un control remoto para un complemento de terceros

git remote add myplugin <url>

Entonces puedo hacer git pull myplugin master

y simplemente extrae los cambios de ese control remoto.

Ahora digamos que mi proyecto está configurado como:

/
/index.php
/whatever

y el control remoto está configurado como

/
/whatever.php

cuando jalo el control remoto termino con

/index.php
/whatever
/myplugin
/myplugin/whatever.php

Esto es bueno.

Lo que me pregunto es si realizo cambios en myplugin,

Si emito git push myplugin master que se empuja

¿Solo va a impulsar cambios en myplugin? ¿O un control remoto actúa como un segundo repositorio y comprometerá todo el repositorio?

preguntado el 13 de septiembre de 12 a las 06:09

2 Respuestas

Terminarías, después de un git pull mypluginen /myplugin/whatever.php solo si el repositorio remoto ya contenía /myplugin/whatever.php (no solo whatever.php)

Agregar un control remoto significa extraer todo su historial y fusionarlo en su repositorio, o enviar sus confirmaciones desde todos los su repositorio en el control remoto (no solo los cambios de su local 'myplugin').

Lo que está describiendo (empujando solo los cambios de 'myplugin', o extrayendo confirmaciones solo en 'myplugin') se llama submódulos.

 git submodule add url/myplugin myplugin

Eso agregaría un directorio myplugin, en el que encontraría un segundo repositorio de Git anidado que actúa como lo describe en su pregunta.
No es solo un nuevo control remoto, sino una URL de submódulo para incluir en un subdirectorio otro repositorio en un SHA1 específico.

Respondido el 13 de Septiembre de 12 a las 06:09

El control remoto actúa como un segundo repositorio porque es uno... cuando emite un comando push, GIT copiará lo que se ha modificado en el control remoto y lo volverá a alinear con su repositorio local.

Si lo que está preguntando es si la inserción se trasladará a subdirectorios, entonces la respuesta es sí.

Si está preguntando si los cambios que aún no se han confirmado en su repositorio local se enviarán al remoto, entonces la respuesta es no.

Respondido el 13 de Septiembre de 12 a las 06:09

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