Semplice rebase dal maestro con magit?


11

Ho appena aggiornato alla versione più recente di Magit avendo usato la vecchia versione per anni. Tutti i miglioramenti sono fantastici dopo aver cercato un po 'in giro e capito le differenze.

Ora sto solo cercando di fare il rebase più semplice (non interattivo) magite non riesco a capire come farlo. Questo esempio è tratto da https://git-scm.com/docs/git-rebase .

git checkout topic
git rebase master
  1. Colpire r
  2. ?
  3. Il mio argomento è stato rielaborato con le ultime modifiche dal master.

3
Scegli "altrove", (premi "e"), quindi scegli "master". Solo per essere sicuri: dovrai riassegnare il tuo "argomento" di filiale al master (non da ). Su Git cercherà il più giovane antenato comune di "master" e "topic", quindi lavorerà sugli commit in "topic" per applicare a questi cambiamenti in "master". Alla fine, "master" rimarrà invariato, ma "topic" includerà le modifiche rispetto a "master" (sto scrivendo questo nella speranza di prevenire un errore, cioè se pensavi che la revoca dal master avrebbe fatto il contrario).
wvxvw,

2
Nota che se imposti un upstream per il tuo ramo - puoi digitare be poi uripetutamente scorrere tra le opzioni conosciute ( origin/masteressendo tipico) - che diventerà un'opzione predefinita su cui rifare (via r u).
phils,


Grazie per i commenti Questo mi ha chiarito. Ho letto la pagina Rebasing di Magit, ma prima non aveva senso. Penso che la parola "su" fosse il problema. Ora sto usando 'r', quindi 'e' per unire le ultime novità dal master ma sapendo come impostare il mio upstream con 'b', anche 'u' è stato utile.
Andrew Goodnough,

@wvxvw potresti per favore trasformare quel commento in una risposta?
tarsius

Risposte:


16
  1. Premere r (rebase) nel buffer di stato Magit. Questo visualizzerà un buffer pop-up con più opzioni.
  2. Premi e (altrove) per iniziare la rebasing su un altro ramo.
  3. Selezionare il ramo su cui rifarsi rispondendo al prompt (nota: il ramo selezionato non viene modificato, il ramo corrente lo è) .
  4. Il processo di rebase inizierà e ora avrai più opzioni nel menu rebase: rcontinuare (dopo aver risolto i conflitti) , ainterrompere (l'intero processo di rebase verrà riavvolto prima di rebase) e ssaltare (a volte Git viene confuso, per esempio , quando il tuo commit sembra non introdurre alcun cambiamento, che può accadere quando il tuo ramo attuale e quello di destinazione hanno entrambi aggiunto la stessa modifica) .
  5. I tuoi commit verranno applicati ai commit nel ramo target. Se non si applicano in modo uniforme, ti verranno mostrati i progressi e i conflitti nel buffer di stato di Magit.
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.