Aller au contenu principal

Se connecter

Sauvegarde ta progression et retrouve-la sur tous tes appareils.

Ou par email

Pas encore de compte ?

Politique de confidentialité

Git Remote & collaboration : clone, fetch, pull, push

Tout ce qu'il faut pour collaborer avec Git. Apprenez comment fonctionnent les remotes, synchronisez votre code avec une équipe et maîtrisez les commandes qui connectent votre dépôt local au reste du monde.

Guide hub

Ce guide couvre toutes les commandes nécessaires pour travailler avec les dépôts distants dans Git. Chaque section inclut des exemples de terminal que vous pouvez exécuter immédiatement. Suivez les liens pour approfondir chaque commande individuellement.

Comment fonctionnent les remotes Git

Git est un système de contrôle de version distribué. Chaque développeur possède une copie complète du dépôt sur sa machine, y compris l'intégralité de l'historique des commits. Un remote est simplement une référence vers une autre copie de ce dépôt, généralement hébergée sur un serveur comme GitHub, GitLab ou Bitbucket.

Lorsque vous clonez un dépôt, Git crée automatiquement un remote appelé origin qui pointe vers l'URL depuis laquelle vous avez cloné. C'est votre connexion par défaut au serveur. Vous pouvez ajouter d'autres remotes si vous devez synchroniser avec plusieurs sources — par exemple, un remote upstream pour suivre le projet original lorsque vous contribuez à un fork.

Local vs Distant : Votre dépôt local vit sur votre machine. Les dépôts distants vivent sur des serveurs. Les commandes Git comme fetch, pull et push sont les ponts qui synchronisent les changements entre les deux. Sans ces commandes, votre travail local reste invisible pour tous les autres.

Cloner un dépôt

Le clonage est la première étape pour rejoindre un projet existant. Il crée une copie locale de l'intégralité du dépôt, y compris toutes les branches et l'historique des commits.

git clone

git clone URL télécharge un dépôt distant sur votre machine et configure le remote origin automatiquement. Vous obtenez un dépôt entièrement fonctionnel, prêt à travailler. Vous pouvez cloner via HTTPS ou SSH selon votre configuration d'authentification.

Lire le guide complet : git clone expliqué

Gérer les remotes

Une fois que vous avez un dépôt, vous pouvez avoir besoin d'inspecter, ajouter ou supprimer des connexions distantes. La commande git remote gère tout cela.

git remote

git remote -v liste tous les remotes configurés avec leurs URL. Utilisez git remote show origin pour obtenir des informations détaillées sur un remote spécifique, notamment quelles branches sont suivies et si vos branches locales sont à jour.

Lire le guide complet : git remote expliqué

Ajouter et supprimer des remotes

Vous pouvez connecter votre dépôt à plusieurs remotes. C'est essentiel pour les workflows open source : origin pointe vers votre fork tandis que upstream pointe vers le dépôt original. Utilisez git remote add et git remote remove pour gérer ces connexions.

Synchroniser avec les remotes

Trois commandes forment le coeur de la synchronisation distante : fetch télécharge les changements, pull télécharge et fusionne, et push envoie vos commits. Comprendre la différence entre ces trois commandes est la clé d'une collaboration fluide.

git fetch

git fetch télécharge les nouveaux commits, branches et tags depuis un remote sans modifier votre répertoire de travail. Il met à jour vos branches de suivi distant (comme origin/main) pour que vous puissiez examiner les changements avant de les intégrer. C'est la manière sûre de vérifier ce qu'il y a de nouveau.

Lire le guide complet : git fetch expliqué

git pull

git pull est essentiellement un git fetch suivi d'un git merge. Il télécharge les changements distants et les intègre immédiatement dans votre branche courante. C'est pratique, mais cela peut introduire des conflits de fusion si votre branche locale a divergé du remote.

Lire le guide complet : git pull expliqué

git push

git push envoie vos commits locaux vers un dépôt distant. C'est ainsi que vous partagez votre travail avec l'équipe. La première fois que vous poussez une nouvelle branche, utilisez le flag -u pour configurer le suivi : git push -u origin nom-de-branche.

Lire le guide complet : git push expliqué

Fetch vs Pull : lequel utiliser ?

C'est l'un des points de confusion les plus courants pour les débutants Git. Les deux commandes téléchargent des changements depuis un remote, mais elles se comportent très différemment. Voici une comparaison côte à côte.

git fetchgit pull
Télécharge les changementsOuiOui
Modifie le répertoire de travailNonOui
Fusionne dans la branche couranteNonOui (fetch + merge)
Risque de conflitsAucunPossible
Vérification avant intégrationOui — inspecter avec git log ou git diffNon — les changements sont fusionnés immédiatement
Idéal pourVérifier ce qui a changé sur le remoteMettre à jour rapidement votre branche locale

Règle générale : utilisez git fetch quand vous voulez voir ce qu'il y a de nouveau sans toucher à votre travail. Utilisez git pull quand vous êtes prêt à intégrer les changements distants dans votre branche. Beaucoup de développeurs expérimentés préfèrent faire un fetch d'abord, examiner avec git log origin/main, puis fusionner manuellement pour un contrôle maximal.

Pour une analyse plus détaillée, consultez notre comparaison dédiée : git pull vs fetch

Workflow de collaboration

Dans un workflow d'équipe classique, chaque fonctionnalité ou correction suit le même cycle. Comprendre ce schéma est essentiel pour travailler efficacement avec les autres. Voici le flux standard que la plupart des équipes suivent :

  1. Cloner le dépôt (une seule fois, en rejoignant le projet).
  2. Créer une branche pour votre fonctionnalité ou correction de bug.
  3. Faire des commits avec des messages clairs et descriptifs.
  4. Pousser votre branche vers le remote.
  5. Ouvrir une Pull Request (ou Merge Request) pour la revue de code.
  6. Fusionner la branche dans main après approbation.
  7. Récupérer le dernier main avant de commencer la fonctionnalité suivante.

Ce workflow par branches de fonctionnalité garde la branche main stable tout en permettant à chacun de travailler en parallèle. Chaque branche est isolée, de sorte que le travail d'un développeur n'interfère jamais avec celui d'un autre jusqu'à ce que le code soit examiné et fusionné.

Erreurs courantes avec les remotes

Travailler avec les remotes peut produire des messages d'erreur déroutants. Voici les plus fréquents et comment les résoudre :

error: failed to push some refs

Cela se produit quand la branche distante contient des commits que votre branche locale n'a pas. Quelqu'un a poussé des modifications avant vous. Corrigez en exécutant git pull d'abord, puis poussez à nouveau. Voir le guide de dépannage complet.

fatal: remote origin already exists

Vous avez essayé d'ajouter un remote nommé origin mais il en existe déjà un. Utilisez git remote set-url origin NOUVELLE_URL pour mettre à jour l'URL à la place, ou supprimez d'abord le remote existant avec git remote remove origin. Voir le guide de dépannage complet.

Parcourez toutes les solutions aux erreurs Git dans notre référence des erreurs Git.

A

GitQuest est conçu par Anaïs (nouvelle fenêtre), développeuse web et responsable pédagogique, spécialisée en formations tech et accessibilité numérique.

Questions sur les remotes Git et la collaboration

Prêt à pratiquer la collaboration Git ?

Ce guide couvrait la théorie. GitQuest vous permet de pratiquer clone, fetch, pull et push dans des scénarios interactifs avec un vrai terminal. C'est gratuit.

Commencer avec GitQuest