2014-07-18 16 views
41

Ho un repository chiamato Generic, che è un'applicazione generica. L'ho inserito in un repository chiamato Acme, che si basa solo sull'archivio dell'applicazione memorizzato Generic e aggiunge il marchio Acme Co ad esso.Git pull da un altro repository

se faccio le modifiche alla funzionalità di base in Generic, voglio aggiornare il repository Acme con le ultime modifiche che ho fatto per le funzionalità di base in Generic. Come potrei farlo?

Per quanto posso dire, sto essenzialmente cercando di unire le modifiche apportate in un repository upstream nel fork corrente.

Se significa niente, io sto cercando di fare questo perché ho un'applicazione generica che ho poi costruire su e marchio per singoli clienti (come Acme in questo esempio). Se c'è un modo più pulito per farlo, fammi sapere.

risposta

62

Immettere il seguente comando nel repository Acme. Aggiunge un nuovo repository remoto denominato upstream che punta al repository Generic.

git remote add upstream https://location/of/generic.git 

È possibile quindi unire le modifiche apportate al Generic nel ramo corrente in Acme con il seguente comando:

git pull upstream 

se si desidera solo per scaricare le modifiche senza fondere automaticamente, utilizzare git fetch invece di git pull.

Se si desidera disabilitare spingere a quel repository, impostare l'URL spinta a un URL non valido usando qualcosa come

git config remote.upstream.pushurl "NEVER GONNA GIVE YOU UP" 

Git ora urlare a voi di non essere in grado di trovare un pronti contro termine se si tenta di spingere a upstream (e mi dispiace per il Rickroll, ma è stata la prima stringa casuale che mi è venuta in mente).

+3

Eccellente, grazie. Solo un'altra cosa: c'è un modo per rendere questo telecomando di sola lettura, quindi non finisco per spingerlo accidentalmente? – Libbux

+1

Ho iniziato a rispondere ma vedo che McLovin ha già modificato la sua risposta per includerlo. –

+1

Dato che git 2.9, dovrai specificare il flag --allow-non -related-histories. Vedere https://stackoverflow.com/a/37938036/3799847 –

Problemi correlati