Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git log [<options>] [<revision-range>] [[--] <path>...]

Descrizione

Il comando git log visualizza la storia dei commit raggiungibili da uno o più ref (default: HEAD). È uno degli strumenti più flessibili in Git, supportando filtri per autore, data, contenuto del messaggio, path di file e altro. Combinato con opzioni di formattazione, può produrre output adatto a changelog, audit e archeologia del codice.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git ls-remote [--heads] [--tags] [<repository> [<refs>...]]

Descrizione

Il comando git ls-remote interroga un remote (senza clone o fetch) e stampa lo SHA-1 di ogni ref accanto al nome del ref. È prezioso per scripting, pipeline CI e ispezione veloce — per esempio, trovare l'ultimo tag su un remote o controllare se un branch esiste. Poiché non scarica oggetti, è leggero e veloce anche contro repository molto grandi.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git push [<remote> [<refspec>...]] [--force-with-lease] [--tags] [--delete]

Descrizione

Il comando git push invia commit locali a un repository remoto, aggiornando i branch remoti per corrispondere ai tuoi locali. Il primo push di un nuovo branch tipicamente richiede -u per configurare il tracking. Per default, push è non distruttivo: rifiuta di sovrascrivere la storia remota che non hai localmente.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git pull [--rebase] [--ff-only] [<remote> [<branch>]]

Descrizione

Il comando git pull è una scorciatoia per git fetch seguito da un passo di integrazione (merge per default, rebase opzionalmente). Aggiorna il tuo branch corrente per incorporare le modifiche upstream. Molti team preferiscono configurare pull.rebase = true o usare git pull --rebase per mantenere lineare la storia.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git fetch [<options>] [<remote> [<refspec>...]]

Descrizione

Il comando git fetch scarica nuovi commit, file e ref da un repository remoto nel tuo repo locale, ma NON li mergia nel tuo branch di lavoro. Dopo il fetch, i ref di tracking remoto (come origin/main) sono aggiornati, e puoi ispezionare cosa c'è di nuovo con git log origin/main prima di decidere di mergiare o rebase.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git remote [-v]
git remote add <name> <url>
git remote remove <name>
git remote set-url <name> <url>

Descrizione

Il comando git remote gestisce l'insieme di repository ("remote") i cui URL sono memorizzati nella tua config locale. Ogni remote ha un soprannome breve (comunemente origin per la sorgente del clone originale e upstream per il progetto da cui hai forkato).

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git mergetool [-t <tool>] [--tool-help] [<file>...]

Descrizione

Il comando git mergetool lancia uno strumento di merge esterno per aiutare a risolvere i conflitti dopo che un merge, rebase o cherry-pick si ferma con conflitti. Strumenti comuni includono vimdiff, meld, kdiff3, p4merge, opendiff e vscode.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git rebase [-i] [--onto <newbase>] [<upstream> [<branch>]]

Descrizione

Il comando git rebase sposta una sequenza di commit a una nuova base. Riscrive la storia rieseguendo ogni commit sopra la nuova base, producendo una catena lineare invece di un merge commit. Il rebasing è prezioso per mantenere aggiornati i feature branch, pulire la storia locale prima di pushare e squashare commit fixup.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git merge [--no-ff] [--squash] [--abort] [-s <strategy>] [<branch>]

Descrizione

Il comando git merge integra modifiche da un branch a un altro. Per default produce un commit "vero merge" con due parent, preservando la topologia di entrambe le storie. Se il branch target è un antenato stretto della sorgente, Git fa fast-forward semplicemente spostando il puntatore del branch; passa --no-ff per registrare sempre un merge commit.

Da Anonimo (non verificato) , 29 Aprile 2026

Sinossi

git switch [-c <new-branch>] [--detach] <branch>

Descrizione

Il comando git switch, introdotto in Git 2.23, è un sostituto focalizzato per la metà di switching dei branch di git checkout. Cambia solo branch (o crea e cambia in un solo passo). Rifiuta di operare su singoli file, eliminando la fonte più comune di errori di checkout. Se stai imparando Git oggi, preferisci git switch per i branch e git restore per i file.