Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git unpack-objects [-r] [-q] < <pack-file>

Descrizione

Il comando git unpack-objects legge un packfile da stdin e ne scrive i contenuti come oggetti loose individuali nel database degli oggetti. Questo è l'inverso di git pack-objects.

Nell'uso quotidiano, git unpack-objects si integra con alias e CI.

Capire il modello dati di Git aiuta a prevedere i risultati.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git pack-objects [--stdout] [--all] <base-name> < <object-list>

Descrizione

Il comando git pack-objects comprime un set di oggetti in un singolo packfile, applicando compressione delta a oggetti simili. I pack sono come Git memorizza gli oggetti efficientemente su disco e in rete — ogni fetch e push trasferisce pack.

Nell'uso quotidiano, git pack-objects si integra con alias e CI.

Capire il modello dati di Git aiuta a prevedere i risultati.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git symbolic-ref [--short] <name> [<ref>]
git symbolic-ref --delete <name>

Descrizione

Il comando git symbolic-ref manipola i ref simbolici — ref che puntano a un altro ref invece di un commit. L'esempio più familiare è HEAD: quando sei sul branch main, HEAD è un ref simbolico che punta a refs/heads/main. Altri esempi includono l'indicatore di branch predefinito sui remote (refs/remotes/origin/HEAD).

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git update-ref [-d] [--create-reflog] <ref> <newvalue> [<oldvalue>]

Descrizione

Il comando git update-ref scrive un nuovo SHA in un ref atomicamente. Con un valore vecchio atteso opzionale, fornisce semantica compare-and-swap per sicurezza. È ciò che i comandi porcelain come git commit e git branch usano sotto il cofano, e ciò che gli script che manipolano ref direttamente dovrebbero usare invece di modificare file in .git/refs/.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git for-each-ref [--format=<fmt>] [--sort=<key>] [<pattern>...]

Descrizione

Il comando git for-each-ref itera su ogni ref (branch, tag, remote, note, stash) e applica un formato personalizzabile. È molto più potente che parsare l'output di git branch o git tag: puoi ordinare per versione, per data o per qualsiasi campo, e produrre output stabile leggibile da macchina.

Nell'uso quotidiano, git for-each-ref si integra con alias e CI.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git rev-list [<options>] <commit>...

Descrizione

Il comando git rev-list emette gli SHA dei commit raggiungibili da uno o più punti di partenza, opzionalmente escludendo altri. È il cavallo di battaglia dietro git log, git bisect e molti altri comandi. Con i suoi molti filtri, può rispondere a "quanti commit tra A e B", "lo SHA della merge base", "tutti i commit non su main", e così via.

Nell'uso quotidiano, git rev-list si integra con alias e CI.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git rev-parse [<options>] <arg>...

Descrizione

Il comando git rev-parse risolve riferimenti e argomenti Git. Trasforma nomi simbolici (branch, tag, HEAD~3, HEAD@{yesterday}) in SHA di 40 caratteri, normalizza opzioni e risponde a domande introspettive sul repository corrente (path top-level, directory Git, se siamo in un worktree). È il coltellino svizzero dello scripting Git.

Nell'uso quotidiano, git rev-parse si integra con alias e CI.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git ls-files [-c] [-d] [-m] [-o] [-i] [--exclude-standard]

Descrizione

Il comando git ls-files elenca i file noti all'index di Git (e opzionalmente alla working tree). Supporta filtri: cached/staged, deleted, modified, others (untracked), ignored, unmerged e così via. È più veloce e preciso di find per "mostrami tutti i file tracciati".

Nell'uso quotidiano, git ls-files si integra con alias e CI.

Capire il modello dati di Git aiuta a prevedere i risultati.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git ls-tree [-r] [-d] [-l] [--name-only] <tree-ish> [<path>...]

Descrizione

Il comando git ls-tree elenca le entry (mode, type, SHA, name) di un oggetto tree. Con -r ricorre nelle sottodirectory. È l'equivalente plumbing di ls su un tree Git. L'output è una entry per riga, adatto per pipe in altri strumenti.

Nell'uso quotidiano, git ls-tree si integra con alias e CI.

Capire il modello dati di Git aiuta a prevedere i risultati.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git hash-object [-t <type>] [-w] [--stdin] [<file>...]

Descrizione

Il comando git hash-object calcola lo SHA-1 (o SHA-256, in repo moderni) che Git assegnerebbe ai contenuti di un file. Con -w, scrive anche l'oggetto nel database degli oggetti, restituendo lo SHA. Questo è il meccanismo più di basso livello dietro git add: quel comando porcelain essenzialmente chiama hash-object -w e poi aggiorna l'index.