Non ho esperienza con Git, ma faccio del mio meglio per abituarmi, e finora lo sto usando solo per progetti su cui lavoro da solo.
Quando eseguo il codice, c'è un approccio top-down in modo naturale (poiché non posso conoscere il futuro), e c'è un tema ricorrente:
Faccio un po 'di lavoro.
Scopro che per trasformare il mio lavoro in qualcosa di "impegnativo" ho bisogno di fare altro lavoro.
L'altro lavoro merita il proprio commit.
Per qualcosa di commettibile intendo qualcosa che compila o qualcosa che non è un casino totale.
E per qualcosa che merita il proprio impegno mi riferisco a quello che ho imparato che i commit dovrebbero fare solo una cosa.
Il modo in cui lo risolvo è complicato. Se l'altro lavoro si trova in un altro file, creo un nuovo ramo, eseguo il commit e unisco. Se il lavoro si trova nello stesso file .. ugh .. Realizzo una copia locale e reimposta il file nel suo stato in HEAD, apporta il commit necessario e quindi inizia a ripristinare il mio lavoro dalla copia. Come dovrei effettivamente gestirlo? Non immagino che sia così, vero? Non lo presumo, perché deve venire un po 'spesso a tutti (anche quelli che non conoscono il futuro). O forse sembra che il mio flusso di lavoro sia probabilmente difettoso?