Vai al contenuto
GitTree
Unisci e risolvi

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.

GratuitoAggiornato

Funziona in GitTree Gratuito: tutte le funzionalità Git locali, una volta effettuato l'accesso.

In questa pagina
  1. Prima di iniziare
  2. Dove trovarlo
  3. Passi
  4. Risultato atteso
  5. Quando un passaggio è in conflitto
  6. Se qualcosa va storto
  7. Domande
  8. Relativo

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.
AzionemacOSWindows e Linux
Undo un rebase⌘ZCtrl+Z

Passi

  1. Scegli dove effettuare il rebase

    Fai clic con il pulsante destro del mouse sul ramo su cui desideri inserire il tuo lavoro, ad esempio develop, e scegli Rebase … onto ….

    Il menu di un ramo in GitTree con le azioni di unione e rebase numerate
    1 uniscilo al tuo ramo, 2 ribasa il tuo ramo su di esso.GitTree interfaccia con un repository dimostrativo.
  2. 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.

  3. 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.