Questo è quello che faccio per garantire una cronologia Git pulita. Potrebbe esserci un modo più veloce per ottenere la stessa cosa con meno comandi. In breve:
- Crea un ramo della funzione;
- Lavora sul ramo;
- Rivedi il ramo;
- Schiaccia la funzione in un singolo commit (nota che non si tratta di un piano grandioso a meno che l'ambito della funzione non sia piccolo);
- Rebase la funzione sul ramo principale (per garantire una cronologia lineare);
- Esegui un'operazione di unione rapida.
Diverse persone sosterranno che lo schiacciamento commette è cattivo; questo funziona per me. Fai tutto ciò che funziona per te.
Inizia un nuovo ramo per la funzione:
git checkout -b some_user/some_feature
Scrivi un codice.
Aggiungi modifiche al ramo:
git add .
git commit -m "I did some stuff."
Scrivi un codice.
Aggiungi modifiche al ramo:
git add .
git commit -m "I did some more stuff."
Verifica le modifiche.
Aggiorna master:
git checkout master
git pull origin master
Torna al ramo della funzione:
git checkout some_user/some_feature
Schiaccia i commit della funzione in un singolo commit:
git rebase -i HEAD~2
Rebase il commit sul master per assicurarti che l'unione sia rapida:
git rebase master
Gestisci eventuali conflitti di fusione.
Unisci la funzione in master:
git checkout master
git merge some_user/some_feature
Invia al server:
git push origin master
Elimina il ramo della funzione:
git branch -d some_user/some_feature