Ribasare un ramo
La ribasatura riproduce i commit del tuo ramo sopra un altro ramo, quindi la cronologia rimane in linea retta, come git rebase. I commit ottengono nuovi ID; GitTree mantiene il vecchio ramo sotto refs/ogt/trash e Undo lo riporta indietro.
Funziona in GitTree Gratuito: tutte le funzionalità Git locali, una volta effettuato l'accesso.
In questa pagina
Prima di iniziare
- Controlla il ramo che desideri spostare, ad esempio
feature/search. - Preferisci i rami solo su cui lavori: ribasare riscrive i commit che altri potrebbero già avere.
Dove trovarlo
- Fare clic con il pulsante destro del mouse sull'etichetta del ramo su cui effettuare il rebase: Rebase … onto ….
- Fai clic con il pulsante destro del mouse su qualsiasi commit: Rebase … onto quel commit.
- Trascina l'etichetta del ramo sull'altro ramo, quindi scegli il rebase.
| Azione | macOS | Windows e Linux |
|---|---|---|
| Undo un rebase | ⌘Z | Ctrl+Z |
Passi
Controlla le opzioni
La conferma dice che ogni commit viene riprodotto con un nuovo ID e il vecchio ramo viene mantenuto. Sotto Options for this rebase puoi nascondere le modifiche locali e rimetterle a posto, nonché spostare i rami che puntano a questi commit.
Ribasare
Premi Rebase …. Un banner mostra Rebasing … onto …, step … of … durante l'esecuzione.
Risultato atteso
Il tuo ramo inizia dalla punta dell'altro ramo, si impegna in linea retta sopra di esso. Spingilo con forza se era già sul telecomando.
Quando un passaggio è in conflitto
- Resolve apre i file in conflitto; una volta saldati, Continue va avanti con il passaggio successivo.
- Skip elimina il commit in conflitto e continua.
- Abort… si ferma e rimette il ramo esattamente com'era.
Se qualcosa va storto
Il rebase non può iniziare a causa di modifiche locali
Attiva l'archiviazione delle modifiche locali nelle opzioni di rebase oppure esegui prima il commit o l'archiviazione (stashes).
Il push viene rifiutato dopo il rebase
Il telecomando ha ancora i vecchi commit. Utilizza Force Push (With Lease)…; si rifiuta se qualcun altro ha spinto nel frattempo (fetch, pull and push).
Domande
Come posso schiacciare o riordinare i commit durante il ribasamento?
Utilizza un rebase interattivo: scegli per ogni commit se selezionarlo, riformularlo, modificarlo, schiacciarlo, correggerlo o rilasciarlo e trascinarlo per riordinarlo.
