Considera che il mio repo fork è mappato con il telecomando origin
e il repository padre mappato a upstream
.
Sembra che tutti i 3 comandi seguenti possano essere usati per mantenere il master
ramo di origin
, aggiornato con master
ramo di upstream
.
git pull upstream master
git merge upstream/master
git rebase upstream/master
Per favore aiutami a capire se ci sono delle differenze tra questi tre comandi.
risposte:
1 per risposta № 1L'output di unione e pull è lo stesso nel senso che le modifiche dal ramo unito vengono applicate ai commit correnti nel ramo corrente.
Prima di tirare / unire
A---B---C master on origin
/
D---E---F---G master
Dopo
A---B---C origin/master
/
D---E---F---G---H master
L'output di rebase è inverso di pull. Tutti i nuovi commit dal punto in cui è stato creato il ramo attuale sono accantonati. Vengono applicati i commit dal ramo remoto e quindi vengono applicati i commit locali. Quindi rispetto a tirare i commit locali sono alla fine dei commit di remote.
A---B---C topic
/
D---E---F---G master
Dopo il comando rebase
A"--B"--C" topic
/
D---E---F---G master
Fonte - https://git-scm.com/docs/git-rebase