tldr/pages.it/common/git-rebase.md

38 lines
1.3 KiB
Markdown

# git rebase
> Applica i commit di un ramo su un ramo differente.
> Tipicamente usato per riallineare (rebase) due rami, creando copie dei commit nella nuova posizione.
> Maggiori informazioni: <https://git-scm.com/docs/git-rebase>.
- Riallinea il ramo corrente con il ramo specificato:
`git rebase {{ramo_della_nuova_base}}`
- Avvia un rebase interattivo, che consente di riordinare, omettere, unire o modificare i commit:
`git rebase -i {{nome_ramo_o_commit_hash}}`
- Prosegui con un rebase che era stato sospeso da un errore di unione, dopo aver risolto i conflitti:
`git rebase --continue`
- Prosegui con un rebase che era stato sospeso da conflitti di unione, ignorando i commit in conflitto:
`git rebase --skip`
- Interrompi un rebase in corso (ad esempio perché interrotto da un conflitto di unione):
`git rebase --abort`
- Sposta parti del ramo corrente su una base differente, specificando la vecchia base di partenza:
`git rebase --onto {{nuova_base}} {{vecchia_base}}`
- Applica gli ultimi 5 commit locali, consentendo di riordinarli, ometterli, unirli o modificarli:
`git rebase -i {{HEAD~5}}`
- Risolvi automaticamente i conflitti a favore del ramo di versione corrente (la parola chiave `theirs` ha qui un significato opposto):
`git rebase -X theirs {{nome_ramo}}`