2012-04-13 21 views
5

Sono nuovo di git e github, quindi scusate per la domanda newbie. Ho cercato la documentazione e non sono stato in grado di dire cosa sto facendo male, o anche SE sto facendo male ...pull request al repository upstream contiene commit precedentemente recuperati/uniti dal repository upstream?

Ho biforcato un repo su github, clonato localmente, ha apportato alcune modifiche in un paio di rami, ha commesso tali modifiche localmente e le ha trasferite al mio repo fork su github. Mentre lavoravo su quella roba, sono stati fatti diversi commit al repository upstream da cui sono stato forgiato. Non sono sicuro se questa sia la cosa giusta da fare, ma ho recuperato e unito quelle modifiche a monte, quindi ho spinto di nuovo verso la mia forcella.

Ora, voglio inviare una richiesta di pull al repository upstream. Ma quando comincio a farlo, github elenca tutti i commit che farebbero parte della richiesta pull e include tutte quelle modifiche che sono state già apportate al repository upstream che ho recuperato e unito già.

Questo non sembra giusto. Cosa devo fare qui?

risposta

4

Questo è OK come avete spinto questi commit al repository biforcuta e quindi appartengono logicamente alla richiesta di pull.

Quando la richiesta di pull viene unita dal proprietario del repository upstream, Git rileverà che già "contiene" alcuni commit e si unirà solo alle tue modifiche.

Basta creare la richiesta di pull e stai bene.

+0

Ah, bene, grazie! –

+0

Penso di essere nella stessa identica situazione. Per chiarimenti, @cfedermann stai dicendo che va bene se la mia richiesta pull mostra 15 commit e 13 di questi sono "Unisci il ramo di monitoraggio remoto ..."? Github si prenderà automaticamente cura di questo quando il proprietario dell'upstream unirà la mia richiesta pull? Questo sembra strano, ma forse è il modo giusto di fare le cose ... –

+1

Sì, unire in remoto significa "ricollegare" la tua forcella alla versione principale; se la tua richiesta pull contiene 13 tali "re-connect" e 2 changeset "reali", git (e quindi GitHub) sarà in grado di fondersi correttamente solo nei 2 changeset (eccetto se uno dei due introduce un conflitto di unione). Spero che questo chiarisca. – cfedermann

Problemi correlati