DevOpsFacile
AccueilParcours de formationCertificationsModulesCheat SheetÀ Propos
DevOpsFacile

Une plateforme d'apprentissage complète pour maîtriser les pratiques DevOps modernes, du débutant à l'expert.

contact@devopsfacile.fr

Formation

  • Parcours de formation
  • Modules

Informations

  • À Propos
  • Conditions d'utilisation
  • Confidentialité
  • Mentions légales

© 2026 DevOps Facile. Tous droits réservés.

Fait avec pour la communauté DevOps

ModulesCollaborer efficacement avec Git et GitHub01 - Travailler avec les remotes GitHub

Détails

  • 20 minutes
  • Intermédiaire

Objectifs

  • Comprendre la différence entre origin et upstream
  • Pousser et récupérer des branches distantes
  • Synchroniser un fork avec le dépôt d'origine
Module Collaborer efficacement avec Git et GitHub

Exercice 01 : Travailler avec les Remotes GitHub

🎯 Objectifs

À la fin de cet exercice, vous serez capable de :

  • ✅ Configurer plusieurs remotes (origin, upstream)
  • ✅ Pousser une branche locale vers GitHub avec git push -u
  • ✅ Récupérer les changements distants avec git fetch et git pull
  • ✅ Comprendre la différence entre fetch et pull

Durée estimée : 20 minutes | Difficulté : ⭐⭐⭐☆☆


📖 Contexte

Dans un projet d'équipe, votre code local doit rester synchronisé avec le dépôt distant. Git appelle ces dépôts distants des remotes. Par convention, le remote principal s'appelle origin (votre fork ou votre propre repo), et le remote du projet d'origine s'appelle upstream.

Maîtriser ces deux commandes - fetch et pull - est essentiel pour collaborer sans écraser le travail des autres.


📋 Énoncé

Vous disposez d'un compte GitHub. Vous allez créer un repository, le cloner, configurer plusieurs remotes, pousser des branches et synchroniser les changements distants.


🧭 Déroulement

Tâche 1 : Cloner un repository et inspecter les remotes

Créez un nouveau repository public sur GitHub nommé git-intermediaire-tp. Clonez-le en local. Listez les remotes configurés.

Indice : git clone <URL> configure automatiquement origin. Utilisez git remote -v pour afficher les remotes et leurs URLs.

Vérification : git remote -v affiche deux lignes origin (fetch et push) pointant vers GitHub.


Tâche 2 : Pousser une branche avec tracking

Créez une branche feature/hello, ajoutez un fichier hello.txt avec votre message, committez, et poussez la branche vers GitHub en configurant le tracking.

Indice : La première fois, utilisez git push -u origin feature/hello. Le flag -u (upstream) configure le tracking - les prochains git push n'auront plus besoin du nom de la branche.

Vérification : Sur GitHub, l'onglet "Branches" liste feature/hello. En local, git branch -vv affiche [origin/feature/hello].


Tâche 3 : Récupérer un changement distant avec fetch

Directement sur l'interface GitHub, éditez hello.txt et committez le changement. En local, récupérez ce commit avec git fetch, observez la différence, puis intégrez-le.

Indice : git fetch origin télécharge sans toucher votre working directory. git diff main origin/main montre ce qui diffère. git merge origin/main intègre ensuite.

Vérification : git log --oneline -5 affiche le commit créé sur GitHub.


Tâche 4 : Ajouter un remote upstream

Forkez un repository public (ou créez un second repo sur votre compte). Ajoutez ce repo comme remote upstream dans votre projet local.

Indice : git remote add upstream <URL>. La convention est : origin = votre fork personnel, upstream = repo original du projet.

Vérification : git remote -v liste à la fois origin et upstream avec leurs URLs.


Tâche 5 : Comprendre fetch vs pull

Faites un commit dans le repo upstream (directement sur GitHub). Testez d'abord git fetch upstream, observez l'état, puis testez git pull upstream main.

Indice : fetch = télécharge les refs distantes SANS modifier votre branche locale. pull = fetch + merge automatique. fetch est plus sûr : vous contrôlez quand vous intégrez.

Vérification : Après git pull upstream main, git log --oneline affiche les commits upstream dans votre historique.


🗂️ Mini-Projet

bash
# Cloner et inspecter
git clone git@github.com:<user>/git-intermediaire-tp.git
cd git-intermediaire-tp
git remote -v

# Créer et pousser une branche avec tracking
git checkout -b feature/hello
echo "Hello DevOps" > hello.txt
git add hello.txt
git commit -m "feat: ajouter hello.txt"
git push -u origin feature/hello

# Récupérer des changements distants
git fetch origin
git diff main origin/main
git merge origin/main

# Ajouter un remote upstream
git remote add upstream <URL-repo-original>
git fetch upstream
git merge upstream/main

Checkpoints :

  • git remote -v affiche origin et upstream
  • La branche feature/hello est visible sur GitHub
  • git branch -vv affiche le tracking configuré
  • Les commits distants sont récupérés avec git fetch

Retour au module

Sur cette page

  • 🎯 Objectifs
  • 📖 Contexte
  • 📋 Énoncé
  • 🧭 Déroulement
  • Tâche 1 : Cloner un repository et inspecter les remotes
  • Tâche 2 : Pousser une branche avec tracking
  • Tâche 3 : Récupérer un changement distant avec fetch
  • Tâche 4 : Ajouter un remote upstream
  • Tâche 5 : Comprendre fetch vs pull
  • 🗂️ Mini-Projet