Git Rebase
Ultimo aggiornamento
git rebase sposta i commit del tuo branch in modo che vengano riapplicati sopra un altro branch, producendo una cronologia dritta e lineare invece di un commit di merge. Il rebase interattivo (-i) va oltre e ti permette di fare squash, riordinare, modificare o eliminare commit. Siccome il rebase riscrive i commit, usalo solo su lavoro che non hai ancora condiviso.
Prova questi comandi nel terminal playground: una vera shell nel tuo browser, senza installare nulla.
Sintassi
| Comando | Cosa fa |
|---|---|
git rebase main | Riapplica i tuoi commit sopra main |
git rebase -i HEAD~3 | Modifica in modo interattivo gli ultimi 3 commit |
git rebase --onto main old new | Sposta un intervallo di commit su main |
git rebase --continue | Riprende dopo aver risolto i conflitti |
git rebase --abort | Annulla il rebase e ripristina il branch |
git pull --rebase | Pull con rebase invece del merge |
Parole chiave del rebase interattivo
Nell'editor che si apre con -i, sostituisci pick con una di queste.
| Parola chiave | Cosa fa |
|---|---|
pick | Mantiene il commit |
reword | Mantiene il commit, ne modifica il messaggio |
squash | Lo fonde nel commit precedente, unendo i messaggi |
fixup | Lo fonde, scartando questo messaggio |
drop | Rimuove del tutto il commit |
Domande frequenti su git rebase
Cosa fa git rebase?
Cos'è il rebase interattivo?
git rebase -i <base> apre un editor con l'elenco dei commit successivi a <base>, dove puoi riordinarli, unirne diversi in uno con squash, cambiare i messaggi con reword, modificare un commit con edit o eliminarlo con drop. È lo strumento principale per ripulire una serie disordinata di commit prima di condividerli.Qual è la regola d'oro del rebase?
Come sistemo o annullo un rebase con conflitti?
git add su di essi, poi git rebase --continue. Usa git rebase --skip per scartare il commit corrente, oppure git rebase --abort per annullare tutto e riportare il branch com'era prima dell'inizio del rebase.Posso esercitarmi online?
git rebase in una vera shell nel tuo browser, senza installare nulla. Il corso interattivo gratuito di Git di Coddy spiega anche il rebase passo dopo passo.