2012-09-13 11 views
5

Se ho un progetto principale che è controllato in versione.Come funzionano i telecomandi git?

ho quindi aggiungere un telecomando per un terzo Plugin

git remote add myplugin <url>

posso poi fare git pull myplugin master

e tira solo nei cambiamenti da quel remoto.

Ora lascia per dire il mio progetto è configurato come:

/ 
/index.php 
/whatever 

e il telecomando è configurato come

/ 
/whatever.php 

quando tiro in remoto io alla fine con

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

questo è buono.

Quello che mi chiedo è, Se faccio modifiche alle myplugin,

Se io emetto git push myplugin master cosa è spinto?

Spingerà solo le modifiche in myplugin? oppure un remoto svolge il ruolo di secondo repository e impegnerà l'intero repository?

risposta

6

si finirebbe, dopo un git pull myplugin, in /myplugin/whatever.php solo se il repo remoto conteneva già /myplugin/whatever.php (non juut whatever.php)

Aggiunta di un mezzo a distanza tirando tutta la sua storia e si fondono nella tua repo, o spingere il vostro commuta da a tutti i repo nel telecomando (non solo le modifiche dal tuo locale 'myplugin').

cosa si sta descrivendo (spingendo solo le modifiche da 'myplugin', o tirando impegna solo in 'myplugin') è chiamato submodules.

git submodule add url/myplugin myplugin 

che aggiungerebbe un myplugin directory, in cui si dovrebbe trovare un secondo nidificato Git repo Agendo come si descrive nella sua interrogazione.
Non è solo un nuovo telecomando, ma un URL di sottomodulo per includere in una sottodirectory un altro repository su un SHA1 specifico.

0

Il telecomando si comporta come un secondo repository perché è uno ... quando si invia un comando push, GIT copierà ciò che è stato modificato sul telecomando riportandolo in modo efficace in linea con il proprio repository locale.

Se quello che stai chiedendo è se la spinta attraverserà in sottocartelle allora la risposta è sì.

Se si sta chiedendo se le modifiche che non sono state ancora inoltrate al proprio respository locale verranno inviate al telecomando, la risposta è no.