Dépôts distants : clone, pull, push
clone, remote, push et pull pour partager le travail.
Objectifs
À la fin de cette leçon, vous saurez :
- situer le remote dans l'architecture Git ;
- récupérer un projet existant avec
clone; - synchroniser votre travail avec
pulletpush.
🔗 Pour vous rafraîchir la mémoire : branches et fusion
Le remote : une copie pour partager
Votre dépôt local contient déjà tout. Un remote (GitHub, GitLab, serveur maison) héberge une copie de cet historique :
votre machine GitHub
working dir → staging → dépôt ←push/pull→ dépôt distant
Deux flux seulement : push envoie vos commits locaux, pull ramène les commits distants.
Récupérer un projet
git clone https://github.com/utilisateur/projet.git
cd projet
git log --oneline # tout l'historique est là
clone télécharge l'historique complet et configure automatiquement le remote nommé origin. Vérifiez : git remote -v.
Publier son travail
git push origin main # envoie les commits de main vers origin/main
Après un push, la copie distante et votre branche locale sont identiques. Git suit cette correspondance via les branches de suivi (origin/main) — visibles dans git status (« your branch is ahead of... »).
Récupérer le travail des autres
Avant de commencer à travailler, et avant chaque push :
git pull origin main
Si d'autres ont poussé entre-temps, Git intègre leurs commits (fusion éventuelle). Le rythme sain : pull souvent, push tôt.
Refus non-fast-forward
Si le distant a des commits que vous n'avez pas, le push est refusé. Réaction correcte : git pull, résoudre l'éventuel conflit, puis re-pousser. Jamais de --force sur une branche partagée sans comprendre exactement pourquoi.
Exercice
- Créez un dépôt vide sur GitHub (ou GitLab) et notez son URL.
- Depuis votre dépôt local
carnet-de-bord, ajoutez-le comme remote :git remote add origin URL. - Poussez main, vérifiez sur le site web.
- Modifiez un fichier directement sur le site, puis faites
git pulllocalement : que se passe-t-il ?
Résumé
- Remote = copie partagée ;
clonerécupère tout,originest son nom par défaut. pushpublie,pullsynchronise ; pull avant push.- Un refus de push signifie : le distant a avancé — rapatriez d'abord.
Correction disponibleCherchez d’abord par vous-même.Voir la correction
Correction
Réponses détaillées
Exercice 4. Le pull fusionne la modification distante (faite via le site = un commit créé par l'interface web) dans votre historique local ; le fichier apparaît modifié chez vous. C'est exactement le scénario « quelqu'un d'autre a poussé » : le site web est juste un autre contributeur.