Travailler avec des Dépôts Distants
Concepts
| Terme | Description |
|---|---|
| remote | Pointeur nommé vers une URL |
| origin | Nom par défaut principal |
| upstream | Source originale d'un fork |
Ajouter un Remote
bash
git remote add origin git@github.com:org/app.gitLister
bash
git remote -vModifier URL
bash
git remote set-url origin git@github.com:org/app.gitRécupérer (fetch)
bash
git fetch originMet à jour refs sans fusionner.
Pull = Fetch + Merge
bash
git pull origin mainRecommandé : rebase propre :
bash
git pull --rebase origin mainPousser
bash
git push origin feature/authPremière fois (définir upstream) :
bash
git push -u origin feature/authSupprimer Remote
bash
git remote remove oldVoir Branches Distantes
bash
git branch -rSuivre Remote Après Fetch
bash
git checkout -b feature/x origin/feature/xPrune Références Obsolètes
bash
git fetch --pruneTravailler avec un Fork
origin → ton fork
upstream → repo sourceConfigurer :
bash
git remote add upstream git@github.com:source/app.gitSynchroniser :
bash
git fetch upstream
git checkout main
git merge upstream/main
# ou
git rebase upstream/mainTags Distants
bash
git push origin v1.2.0Vérifier Diff Local vs Remote
bash
git fetch origin
git log --oneline origin/main..mainRenommer Remote
bash
git remote rename origin primarySécurité Clés SSH
- Utiliser clés par machine
- Passphrase recommandée
- Agent SSH chargement automatique
Erreurs Courantes
| Problème | Solution |
|---|---|
| Rejet (non fast-forward) | Fetch + rebase/merge |
| Remote disparu | Vérifier accès/URL |
| Auth échoue | Clé SSH ou token |
Bonnes Pratiques
- Nommer clairement (éviter multiples origin)
- Prune régulier
- Synchroniser avant gros refactor
Résumé
Remote = référence d'URL. Cycle : fetch → rebase/merge → push. Maitriser pour collaboration fluide.
