Qual è il metodo canonico per aggiungere modifiche dalla fonte originale di un repository Git biforcato?

1

Per semplicità, diciamo che sto mantenendo un fork di Bootstrap. Le mie modifiche sono specifiche per il mio tema, quindi non verranno mai unite nel progetto Bootstrap originale, ma voglio comunque assicurarmi che il mio progetto abbia le ultime modifiche. Durante la vita del progetto, mi unirò alle modifiche di Bootstrap più volte.

Qual è il modo appropriato per aggiungere le modifiche di Bootstrap alla mia fork sapendo che lo farò più volte durante la vita del progetto? Costantemente il rebasing crea problemi in seguito, o sarebbe sempre l'opzione più appropriata (supponendo che io voglia il 100% delle modifiche in Bootstrap). Come potrei affrontare una situazione in cui volevo solo alcuni delle modifiche? Questo mi impedirà di ridefinire in futuro?

    
posta dstaley 28.01.2017 - 20:25
fonte

2 risposte

1

Se hai una sola una macchina con la forcella, la rebasing è un'opzione. Tuttavia se la tua forcella ha più di un computer che lo ospita (ad esempio, se lo condividi con un altro sviluppatore o se lo hai su Github - ricorda che anche il server Github è una macchina), allora non dovresti rebase, unire invece.

Rifondazione delle modifiche dopo la cronologia git. Git non ha un semplice meccanismo per trascinare la storia passata. Il che significa che una volta eseguito un rebase e premuto, tutti gli altri non possono fare un tiro. Invece devono cancellare di nuovo la loro copia locale e clonare.

Quindi la regola empirica è semplice: puoi spingere una volta solo una volta quando premi il ramo. Dopo tale ribasso rovinerai il repository.

    
risposta data 29.01.2017 - 03:17
fonte
1

Potresti essere in grado di rebase le tue modifiche sulla versione corrente di Bootstrap a seconda di come intendi rilasciare le tue modifiche. La ridefinizione dell'altra direzione (il repository originale in cima alle tue modifiche) sarà quasi impossibile.

In entrambe le direzioni, la fusione è quasi certamente la soluzione migliore.

Per selezionare singoli commit o un intervallo di commit, utilizza git cherry-pick .

    
risposta data 29.01.2017 - 06:08
fonte

Leggi altre domande sui tag