Da Anonimo (non verificato) , 29 Aprile 2026

Perche la dimensione conta

La dimensione del repository influisce su velocita di clone, tempo di fetch e costo CI.

Da Anonimo (non verificato) , 29 Aprile 2026

Il comando che tutti copiano

git log --all --graph --decorate --oneline

Anatomia

  • --all - include ogni branch e tag.
  • --graph - disegna il grafo parent/child.
  • --decorate - annota commit con nomi di branch e tag.
  • --oneline - shorthand per --pretty=oneline --abbrev-commit.

Formattazione migliore

git log --all --graph \
  --pretty=format:'%C(yellow)%h%Creset %C(cyan)%an%Creset %s %C(green)(%cr)%Creset%C(red)%d%Creset' \
Da Anonimo (non verificato) , 29 Aprile 2026

Tre strategie, tre storie

Quando si integra un branch di feature in main, ci sono tre opzioni.

Merge commit

git checkout main
git merge --no-ff feature/login

Pro: preserva la verita di come e avvenuto lo sviluppo. Contro: storia non lineare.

Squash and merge

git checkout main
git merge --squash feature/login
git commit -m "Add OAuth login"

Pro: storia lineare. Contro: perde il dettaglio a livello commit.

Da Anonimo (non verificato) , 29 Aprile 2026

Il problema risolto da range-diff

Un contributore pusha v1 di una serie, poi v2 dopo feedback. Come revisore, vuoi vedere cosa e cambiato tra le versioni.

Da Anonimo (non verificato) , 29 Aprile 2026

Il problema dei fini riga

Windows usa CRLF, Linux e macOS usano LF.

Il setup semplice e robusto

# .gitattributes
* text=auto eol=lf

*.{cmd,bat,ps1} text eol=crlf

*.png binary
*.jpg binary
*.pdf binary
*.zip binary

Come funziona text=auto

Al commit, Git guarda i contenuti del file e normalizza i file di testo apparenti a LF.

Da Anonimo (non verificato) , 29 Aprile 2026

Perche migrare

Mercurial e Git sono sistemi fratelli — entrambi distribuiti, content-addressed.

Da Anonimo (non verificato) , 29 Aprile 2026

Perche migrare

SVN funziona da due decenni. Ma il suo modello centralizzato, il branching lento e la difficolta di integrazione con tooling moderno spingono la maggior parte dei team verso Git.