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). Quando esegui git fetch origin, git push origin o simili, il soprannome viene risolto all'URL.

I remote sono memorizzati in .git/config e possono avere URL separati per fetch e push. Portano anche refspec che determinano quali ref scaricare e in quale namespace locale. I workflow moderni hanno spesso solo origin, mentre i contributori open-source tipicamente hanno sia origin (il loro fork) che upstream (il progetto canonico).

Nell'uso quotidiano, git remote si integra con alias e CI.

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

Opzioni comuni

Opzione / SottocomandoDescrizione
-v, --verboseMostra gli URL accanto ai nomi dei remote.
add <name> <url>Registra un nuovo remote.
remove <name>Rimuove un remote dalla config.
rename <old> <new>Rinomina un remote.
set-url <name> <url>Cambia l'URL di un remote.
show <name>Mostra info dettagliate su un remote.
prune <name>Cancella ref di tracking remoto obsoleti.

Esempi

git remote -v
# Elenca tutti i remote con URL

git remote add upstream https://github.com/original/project.git
# Aggiunge il repo upstream di un fork

git remote set-url origin [email protected]:me/project.git
# Passa da HTTPS a SSH

git remote prune origin
# Rimuove i tracking branch che non esistono più su origin

Errori comuni

Aggiungere l'URL sbagliato (typo, suffisso .git mancante su alcuni host) porta a errori di fetch confusi. Esegui git remote -v per confermare. Dopo rinomi del repository o cambi di proprietà del fork, gli URL dei tuoi remote diventano stantii — correggili con set-url. Non dimenticare di fare git remote prune periodicamente per pulire i branch cancellati sul server.

Comandi correlati

git fetch, git push, git pull, git ls-remote