Modulo 05 — Committare in dettaglio
git commit -m
Section titled “git commit -m”Il flag -m permette di passare il messaggio inline invece di aprire l’editor:
git commit -m "il mio messaggio"Modificare un commit: --amend
Section titled “Modificare un commit: --amend”Situazione tipica: hai appena committato e ti accorgi di aver dimenticato un file, o di avere un refuso nel messaggio. Invece di creare un commit aggiuntivo, puoi “rifare” l’ultimo:
git commit -m "qualche commit"git add file_dimenticato.txtgit commit --amendL’amend riscrive l’ultimo commit (nuovo hash): nel repo resta un solo commit, con il file incluso e/o il messaggio corretto.
Linee guida di base sui commit
Section titled “Linee guida di base sui commit”- Commit early, commit often: commit frequenti = più punti di ripristino.
- Commit atomici: raggruppa modifiche simili; non committare mille cose insieme.
- Messaggi significativi ma concisi.
Commit atomici
Section titled “Commit atomici”Quando possibile, un commit dovrebbe coprire una sola feature, modifica o fix. Vantaggi:
- molto più facile annullare o fare rollback in seguito;
- il progetto è più semplice da revisionare.
Messaggi di commit: presente o passato?
Section titled “Messaggi di commit: presente o passato?”La documentazione ufficiale di Git suggerisce lo stile imperativo al presente (“make xyzzy do frotz”, non “makes xyzzy…” o “I changed xyzzy…”) — come se dessi un ordine alla codebase.
Ma non è obbligatorio: molti developer preferiscono il passato. Ciò che conta davvero è la coerenza, soprattutto in team dove molti committano.
Configurare l’editor di default
Section titled “Configurare l’editor di default”git commit senza -m apre un editor: è quello configurato in Git (vedi git config). Può cambiare a piacere.
La documentazione
Section titled “La documentazione”git help <comando> (o git <comando> --help) apre la documentazione ufficiale: quando un comando ha opzioni dimenticate, i docs sono la fonte definitiva.
Ignorare file con .gitignore
Section titled “Ignorare file con .gitignore”Serve a dire a Git quali file/directory non tracciare mai. Utile per:
- segreti, API key, credenziali;
- file del sistema operativo (es.
.DS_Storesu macOS); - file di log;
- dipendenze e pacchetti (es.
node_modules).
Come funziona
Section titled “Come funziona”Crea un file .gitignore nella radice del repository e scrivi pattern, uno per riga:
.DS_Store # ignora i file con questo nomefolderName/ # ignora un'intera directory*.log # ignora tutti i file con estensione .logIl file .gitignore va a sua volta committato, così le regole valgono per tutto il team.