Domanda

Qualcuno biforcuta un progetto GitHub del mio e ha apportato alcune modifiche. Come posso unire le modifiche nuovamente a mia versione a monte?

Inoltre, è possibile tirare in appena un preciso impegno?

Quello che sto cercando è che se c'è un modo per tirare una specifica impegnarsi anziché l'intero ramo.

È stato utile?

Soluzione

Tirando in un unico commettere sarebbe un cherry-pick e sarebbe riscrivere il ID commit (e contrassegnare come committer, pur mantenendo l'autore). Il processo è abbastanza semplice, anche se:

git fetch git://github.com/user/project.git
git cherry-pick <SHA-COMMIT-ID>

È possibile ottenere la SHA dal registro repository, per esempio:

git log --oneline

b019cc0 Check whether we have <linux/compiler.h>.
0920898 Include <linux/compiler.h> before including <linux/usbdevice_fs.h>.
cbf0ba1 Add DLT_DBUS, for raw D-Bus messages.
77ed5cd Libnl 2.x returns its own error codes, not errnos; handle that.

Con git cherry-pick 0920898 portare la rispettiva impegnarsi per il vostro ramo corrente.

Altri suggerimenti

Provare a utilizzare il / forkqueue su GitHub. C'è possibile unire impegna per la forcella.

O andare alla scheda "Network" e selezionare "Forkqueue"

V'è uno strumento fantastico che si chiama hub , che fornisce strumenti utili per le richieste di pull Clean Up e in generale "aiuta a vincere a git".

Un comando utile in questo contesto è:

git am -3 <url>

Questo permette di afferrare le modifiche da un URL e applicare i suoi commit / modifiche al git locale corrente senza nemmeno andare a prendere il repository remoto (che viene in aiuto con grandi repository).

Se si utilizza questo comando con la pagina Web git del impegnano che si desidera afferrare, si finisce con il commettere in git. Ancora più utile: il commit autore è mantenuta e non sostituita da voi (come sarebbe se si utilizza git rebase). Se si preme questo al vostro pronti contro termine, i cambiamenti saranno impegnati da , ma scritto dall'autore originale.

Un ottimo ressource su questo argomento è questa guida da Nathaniel Talbott. Essa mostra un grande flusso di lavoro per il lavoro con le richieste di pull, invece di fare affidamento sul pulsante richiesta merge pull "maligno" su github.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top