Git, rebase e rimanere sincronizzati con il ramo remoto

2

Ho qualcosa di fastidioso nel mio flusso di lavoro Git. Faccio la solita cosa in cui divido il master, in un ramo chiamato feature. Lavoro su questo ramo di funzionalità per un po ', nel frattempo forse il master ha dei commit propri, che potrei unire in feature. Mentre lo faccio, ho un ramo remoto per funzionalità (origine / funzionalità) che utilizzo così posso creare ed eseguire il mio codice su più macchine.

Ora, quando termino con il ramo di funzionalità, devo inserire il codice nel nostro sistema di revisione del codice. Ciò significa ribaltare la funzione off master e schiacciare tutti i commit in uno solo. Lo faccio, risolvo i conflitti se necessario, ottimo. Ecco il problema: funzionalità e origine / funzionalità ora hanno storie diverse e non riesco a spingere. Ho provato a spingere con -f per forzarlo, e anche questo non ha funzionato.

C'è un modo conveniente per rebase di feature off master e mantenere sincronizzati funzionalità e origine / funzionalità? Quello che sto considerando è fare un altro ramo per la revisione del codice. In altre parole, prima del rebase e dello squash, si dirama in featurecodereview. Quindi rebase featurecodereview off master, e se mi piace posso spingere questo upstream in una nuova filiale remota. Mi stavo chiedendo se ci fosse qualcosa di più pulito che aprire un altro ramo.

    
posta Nir Friedman 09.04.2014 - 16:26
fonte

1 risposta

1

Quale strumento / sistema di revisione del codice stai usando? Perché git ha modi per mostrare il diff (o creare una patch, credo) attraverso più commit. Quindi ribasatura e schiacciamento potrebbero essere completamente inutili.

Uso anche un flusso di lavoro di feature branch e non mi preoccupo nemmeno di farlo. Faccio solo una richiesta pull (in Github o Atlassian Stash) e mostra tutte le differenze come se fosse stato un singolo commit.

    
risposta data 09.04.2014 - 16:59
fonte

Leggi altre domande sui tag