2012-09-26 18 views
10

C'è un modo per rebase di un ramo su un altro mentre salta un commit particolare (in conflitto) sull'altro ramo?Come rebase mentre salta un particolare commit?

Ad esempio, voglio ribasare mybranch su master, ma il master contiene un commit che entrerà in conflitto con i commit in master, quindi preferisco annullare completamente il commit.

-o-o-o-o-o-x-o-o-o-o master 
    | 
    o-o-o-o mybranch 

x contrassegna il commit in conflitto.

risposta

23

Uso rebase interattivo:

git rebase -i master 

Un editor si aprirà e si avrà un elenco di commit in questo modo:

pick b8f7c25 Fix 1 
pick 273b0bb Fix 2 
pick 6aaea1b Fix 3 

basta cancellare il commit si desidera saltare. Sarà omesso mentre si ridimensiona il ramo sul master.

P.S. Se non riesci a vedere l'editor, per favore, fai riferimento a questa domanda per la soluzione: How can I set up an editor to work with Git on Windows?

+0

L'editor mostra solo i commit su mybranch. C'è un modo per farlo apparire mostrando tutti i commit; cioè dalla punta di mybranch, giù per padroneggiare e fino alla punta del maestro? – Phillip

+1

Vuoi eliminare il commit nel tuo branch o master? La seconda opzione se abbastanza insafe e causerà problemi a tutti gli altri sviluppatori che hanno '' master'' come a monte. –

+0

Voglio saltare un commit su master (ho aggiunto un diagramma come parte della mia domanda). Al momento non sono preoccupato per il "master" sul monte. – Phillip

Problemi correlati