Sono inesperto con Git, ma faccio del mio meglio per abituarmi e finora lo sto usando solo per progetti su cui lavoro da solo.
Quando codifico c'è naturalmente un approccio dall'alto verso il basso (dato che non posso conoscere il futuro), e c'è un tema ricorrente:
Faccio del lavoro.
Scopro che per ottenere il mio lavoro in qualcosa di "impegnabile" ho bisogno di fare altro lavoro.
L'altro lavoro merita il proprio impegno.
Per qualcosa di impegnativo intendo qualcosa che si compila o qualcosa che non è un disastro totale.
E da qualcosa che merita il proprio impegno, mi riferisco al fatto che ho imparato che gli impegni dovrebbero fare solo una cosa.
Il modo in cui lo risolvo è ingombrante. Se l'altro lavoro è in un altro file, creo un nuovo ramo, ci impegno e unisco. Se il lavoro si trova nello stesso file .. ugh .. Faccio una copia locale e resetto il file al suo stato in HEAD, eseguo il commit necessario e quindi inizio 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 (che almeno non conoscono il futuro). O forse sembra che il mio flusso di lavoro sia probabilmente difettoso?
git add -p
e quindi eseguire il commit solo di quelle parti. È una tecnica molto potente e la uso quasi sempre.
git status
per vedere tutti i file modificati, e faccio due o più commit usandogit add
file specifici (anzichégit add --all
) e commettendo pezzo per pezzo.