2012-09-13 18 views
5

Si tengo un proyecto principal que está controlado por la versión.¿Cómo funcionan los controles remotos de git?

Luego agregar un control remoto para un tercero plug-in

git remote add myplugin <url>

Yo, pues, haría git pull myplugin master

y que sólo se tira en los cambios de esa distancia.

Ahora digamos que mi proyecto se configura como:

/ 
/index.php 
/whatever 

y el control remoto se configura como

/ 
/whatever.php 

cuando me tire en el mando a distancia termino con

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

Esto es bueno.

Lo que me pregunto es, Si hago cambios en miplugin,

Si expido git push myplugin master lo que es empujado?

¿Va a impulsar solamente los cambios en myplugin? o hace un acto remoto como un segundo repositorio y comprometerá todo el repositorio?

Respuesta

6

acabaría, después de un git pull myplugin, en /myplugin/whatever.php sólo si el repositorio remoto ya contenía /myplugin/whatever.php (no juut whatever.php)

Adición de un medio a distancia tirando toda su historia y que se fusionan en tu repositorio, o empujar a su confirma desde todos su repositorio en el control remoto (no solo los cambios desde su 'myplugin' local).

Lo que usted describe (empujando sólo los cambios de 'miplugin', o tirando comete sólo en 'miplugin') se llama submodules.

git submodule add url/myplugin myplugin 

que añadiría un miplugin directorio, en el que se encontraría una segunda actuación Git repo anidada como usted 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.

0

El control remoto actúa como un segundo repositorio porque es uno ... cuando emite un comando de inserción, GIT copiará lo que se modificó en el control remoto para que vuelva a estar alineado con su repositorio local.

Si lo que se pregunta es si la inserción atravesará directorios secundarios, 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 control remoto, la respuesta es no.

Cuestiones relacionadas