2012-12-11 9 views
11

Come si estraggono le modifiche dalla parent di una forcella in Git, in particolare in un progetto configurato github?Estrazione delle modifiche da fork parent in Git

Ad esempio, dire che ho biforcuto http://github.com/originaluser/originalproject in http://github.com/myuser/myproject. Non ho intenzione di myproject di essere un fork permanente, dato che voglio solo mantenere un ramo "dev" per testare alcune funzionalità sperimentali, e poi eventualmente unirle di nuovo nel progetto originale.

Come tale, ogni volta che si commettono su project originario, voglio essere in grado di tirarli verso il basso e unirli con myproject. Tuttavia, voglio anche essere in grado di trasferire le modifiche su myproject, ma non ancora creare immediatamente una richiesta di pull per farle unire nel progetto originale fino a quando il mio ramo non è completo e testato. Qual'è il miglior modo per farlo?

Modifica: per impostazione predefinita, quando creo un checkout/fork locale della mia forcella github per lo sviluppo locale, e quindi spingo/estrai le modifiche, queste modifiche influiscono solo sulla mia forcella personale. Non ho mai ricevuto modifiche dal progetto originale. Come lo aggiusto?

Ci scusiamo per qualsiasi terminologia git errata.

+0

Hai descritto cosa vuoi fare, che va bene, ma non vedo alcun problema da risolvere qui. Non funziona per te? –

+0

@GregHewgill, No. Ho modificato la mia domanda per chiarire il mio problema. – Cerin

risposta

8

È possibile aggiungere il repository principale (upstream) come un altro ramo remoto. Qualcosa di simile

git remote add upstream ... 

e poi si può solo git fetch per vedere tutte le modifiche e poi rebase/unire ... qualunque cosa.

+1

Come faccio? – Cerin

+2

Clona il tuo fork (myuser/myproject), inserisci cd in esso e digita git remote add upstream https://github.com/originaluser/originalproject.git e poi digita git fetch. Dopodiché dovresti avere il master (il tuo ramo principale locale), l'origine/master (il tuo ramo master rimosso) e infine upstream/master (il master del progetto originale) da cui puoi estrarre le modifiche nel tuo repository. –

+0

Devi anche specificare il nuovo telecomando su 'git fetch', altrimenti non lo preleva:' git fetch upstream' fa il trucco. – Kev

Problemi correlati