git remote
Gérer les dépôts distants avec lesquels vous vous synchronisez
La commande 'git remote' liste, ajoute et supprime des dépôts distants — des noms courts pour les URL d’autres dépôts. git clone en crée un appelé origin. Les forks en ajoutent souvent un second, upstream, qui pointe vers le projet d’origine. Ajouter un dépôt distant ne télécharge rien ; c’est git fetch <name> qui le fait.
Synopsis
git remote [-v | --verbose]
git remote add <name> <url>
git remote remove <name>
git remote rename <old> <new>
git remote set-url <name> <newurl>
git remote show <name>Options
Choisir la bonne option
origin ou upstream
Les deux dépôts distants habituels d’un fork
| Commande | Pointe vers | Vous y poussez ? |
|---|---|---|
origin | Votre copie (le fork) | Oui |
upstream | Le projet d’origine | Non — vous y faites des fetch |
Exemples
Lister les dépôts distants
git remote -vLes noms avec leurs URL.
Ajouter l’original d’un fork
git remote add upstream git@github.com:acme/shop.gitUn second dépôt distant.
Changer une URL
git remote set-url origin git@github.com:you/shop.gitP. ex. passer de HTTPS à SSH.
Détails
git remote show originBranches et informations de suivi.
Exemples de workflows
git remote add upstream git@github.com:acme/shop.gitUne fois
git fetch upstreamTélécharger ses commits
git merge upstream/mainLes intégrer à votre main
git pushMettre à jour votre fork
Dépannage
error: remote origin already exists
Cause : Le nom est déjà pris
Utilisez set-url pour le modifier, ou un autre nom
fatal: 'upstream' does not appear to be a git repository
Cause : Le dépôt distant n’est pas configuré
Ajoutez-le avec git remote add
Astuces et pièges
Bonnes pratiques
- ✓Nommez upstream le dépôt d’origine d’un fork.
- ✓Vérifiez git remote -v avant votre premier push.
Erreurs fréquentes
- ✗S’attendre à ce que git remote add télécharge des commits — lancez git fetch ensuite.
- ✗Pousser vers upstream au lieu d’origin dans un fork.
FAQ
git remote rename old new.
git remote remove <name> — ses branches de suivi distantes partent aussi.