Da Anonimo (non verificato) , 29 Aprile 2026

La tradizione mailbox

git am applica patch in formato mbox: il formato usato da progetti guidati da mailing list come il kernel Linux e Git stesso.

Da Anonimo (non verificato) , 29 Aprile 2026

Perche le patch

Le patch sono diff portatili che si possono inviare via email, incollare in un ticket, o memorizzare come file. Sono come funziona lo sviluppo del kernel Linux su scala.

Da Anonimo (non verificato) , 29 Aprile 2026

Un workflow, non panico

I conflitti sono routine. Il workflow giusto li trasforma da evento stressante a compito di cinque minuti: ispezionare, decidere, modificare, verificare, continuare.

Da Anonimo (non verificato) , 29 Aprile 2026

Cos'e il three-way

Il diff a due vie mostra cosa e cambiato tra due versioni. Il diff a tre vie considera anche l'antenato comune, lasciando a Git di decidere se una regione e stata cambiata da un lato, dall'altro o da entrambi.

Da Anonimo (non verificato) , 29 Aprile 2026

Gli pseudo-ref non celebrati

Oltre a HEAD, Git mantiene un piccolo zoo di ref aggiornati automaticamente che registrano cosa e appena successo.

HEAD

Punta al branch corrente o, se distaccato, direttamente a uno SHA di commit.

ORIG_HEAD

Impostato da operazioni distruttive (merge, rebase, reset, am) al precedente tip.

Da Anonimo (non verificato) , 29 Aprile 2026

Oltre il default

git log e un piccolo linguaggio di query per la storia. Con i flag giusti produce report di qualita dashboard, audit trail e analisi forense dei bug.

Da Anonimo (non verificato) , 29 Aprile 2026

Editare la storia senza riscriverla

A volte si vuole unire storie (un import Subversion convertito che incontra una continuazione, per esempio) senza riscrivere i commit. Graft e lo spazio dei nomi refs/replace/ permettono a Git di fingere che il genitore di un commit sia un commit diverso, lasciando intatti gli oggetti originali.

Da Anonimo (non verificato) , 29 Aprile 2026

L'area di staging, demistificata

L'index (alias cache, area di staging) vive in .git/index come file binario che descrive cosa conterra il prossimo commit.

Ispezione

git ls-files --stage
git ls-files --debug
git diff --cached
git diff

Versioni dell'index

git config index.version 4
git update-index --index-version 4

Cache delle stat

L'index registra device, inode, ctime, mtime, size per ogni voce.

Da Anonimo (non verificato) , 29 Aprile 2026

Cos'e un ref

Un ref e un nome che punta a un oggetto — di solito un commit. I branch sono ref sotto refs/heads/, i tag sotto refs/tags/, remote-tracking sotto refs/remotes/, e pseudo-ref come HEAD, FETCH_HEAD, ORIG_HEAD.

Da Anonimo (non verificato) , 29 Aprile 2026

Basi del packfile

Un packfile raggruppa molti oggetti in un solo file con compressione delta — invece di memorizzare ogni versione di un file per intero, oggetti simili condividono una base e memorizzano solo la differenza. Riduzione di dimensione 5x-50x sui repo reali.