Non sono sicuro di quanto semplice possa essere. Se fai un rebase -i
, tenterà di ignorare tutte le unioni, che riesce a fondersi senza conflitto, ma si ferma e ti aspetta se c'è stato un conflitto.
Se lo si invoca come rebase -i -p
, d'altra parte, manterrà le unioni, che è ciò che si vuole quando l'utente ha fatto una vera unione, ma manca completamente il punto altrimenti.
Forse qualche sequenza dei due comandi, preservando l'unione solo quando si desidera, potrebbe portare a termine il lavoro in questo caso.
Devo essere d'accordo con Charles, tuttavia, che avere la storia riflette la realtà è molto più prezioso che renderlo "bello". Il fatto è che un commit è stato fatto senza la conoscenza dell'altro, e nel caso del codice sorgente questo può dirvi perché qualcosa potrebbe essere andato storto.
Il nostro team utilizza un flusso di lavoro git puramente unire a base
Cosa c'è di sbagliato con tirando sempre con --rebase
(ad esempio git pull -r
)? Se si desidera una topologia piatta, il modo più semplice è di non unire quando è possibile rebase.
Inoltre: si dice di voler appiattire solo se "l'unione è pulita". Sto solo speculando qui, ma non credo che i conflitti dei record git dopo il fatto diverso da una nota nel messaggio di commit predefinito, che potrebbe non essere ancora lì.
fonte
2009-10-28 08:55:58
+1 per una buona messa a fuoco - "morsi di realtà". Git fornisce un così grande spazio per gli strumenti e così tante opzioni, può essere difficile sapere cosa è intelligente e cosa non lo è. Sono fermamente convinto di non creare lavoro per il lavoro, quindi probabilmente seguirò il tuo consiglio. – krosenvold