Sono un noob in Git e sto cercando di imparare la differenza tra git pull
vs git rebase
. Qualcuno può fornire un esempio su quando utilizzare l'opzione in quanto ritengo che entrambi abbiano lo stesso scopo.Git Pull vs Git Rebase
risposta
git-pull - Fetch da e integrare con un altro repository o una filiale locale GIT PULL
In sostanza si sta tirando ramo remoto al vostro locale, ad esempio:
git pull origin master
tirerà ramo principale nel repository locale
git-rebase - Forward-port commit locali alla testa monte aggiornato GIT REBASE
Questo sta mettendo le modifiche locali in cima cambiamenti fatti a distanza da altri utenti. Per esempio:
- Hai commesso alcuni cambiamenti sulla vostra filiale locale per esempio chiamato
SOME-FEATURE
- Il tuo amico nel frattempo stava lavorando su altre caratteristiche e lui fuse suo ramo in padrone
Ora vuoi vedere i suoi e i tuoi cambiamenti nella tua filiale locale. Allora si checkout master
ramo:
git checkout master
allora si può tirare:
git pull origin master
e poi si va a vostra filiale:
git checkout SOME-FEATURE
e si può fare rebase master
per ottenere le ultime modifiche da esso e metti il tuo ramo in cima:
git rebase master
Spero che ora sia un po 'più chiaro per te.
git pull
e git rebase
non sono intercambiabili, ma sono strettamente connessi.
git pull
recupera le ultime modifiche del ramo corrente da un telecomando e applica tali modifiche alla copia locale del ramo. Generalmente questo viene fatto unendo, cioè le modifiche locali sono unite nelle modifiche remote. Quindi git pull
è simile a git fetch & git merge
.
Il rebasso è un'alternativa alla fusione. Invece di creare un nuovo commit che combina i due rami, sposta i commit di uno dei rami sopra l'altro.
È possibile eseguire pull usando rebase anziché unione (git pull --rebase
). Le modifiche locali apportate verranno ridefinite in base alle modifiche remote, anziché essere unite alle modifiche remote.
Atlassian come eccellente documentation on merging vs. rebasing.
- 1. git pull --rebase vs git rebase: qual è il pericolo?
- 2. git rebase upstream/master vs git pull --rebase master upstream
- 3. git rebase dopo pull
- 4. `git svn rebase` vs` git rebase trunk`
- 5. Annulla un git pull --rebase?
- 6. Differenza tra git pull e git pull --rebase
- 7. git stash pop vs git rebase
- 8. Git: pull vs. fetch → pull
- 9. Equivalente mercurial di "git pull --rebase"
- 10. "git pull --rebase" porta a "Impossibile rebase su più rami"
- 11. git stash e git pull
- 12. Utilizzo di git-svn: Pull, Merge o Rebase?
- 13. Git pull --rebase conversione degli spazi in schede
- 14. visualizza i commit caricati dopo git pull --rebase
- 15. Posso impostare un alias in git per "pull --rebase"?
- 16. git safe rebase o "try rebase, fallback to merge"
- 17. Git pull dopo aggiornamento forzato
- 18. recupero da git rebase
- 19. git crash durante rebase
- 20. Git rebase cambia autore?
- 21. git rebase problemi
- 22. git-svn rebase errore
- 23. Git rebase commettere selezione
- 24. Git rebase sottostruttura
- 25. git pull --rebase upstream e git push origin non rifiuta l'avanzamento rapido?
- 26. Git: 'rebase' non è un comando git. Vedi 'git --help'
- 27. git pull --rebase master di origine sembra rebase dall'inizio ogni volta
- 28. git-subtree pull complicazioni
- 29. Posso disabilitare git pull?
- 30. "git pull" rotto
Hai provato a leggere la documentazione? Spoiler: non hanno lo stesso scopo –
Ho letto la documentazione. Come ho detto che sono un noob e ho iniziato ad imparare. – user4943236
@TimCastelijns puoi vedere la risposta di Peter. Ha dichiarato esplicitamente che questi sono strettamente connessi, e quindi la confusione è sorto e quindi ho posto una domanda. Puoi rimuovere downvote – user4943236