Travailler sur deux postes avec Git et GitHub
🎯 Objectif
Comprendre comment utiliser Git pour travailler sur un projet sur deux ordinateurs différents (par exemple : école ↔ maison), en manipulant les commandes Git de base à l'aide de la console :
git clonegit addgit commitgit pushgit pull
Rappels théoriques
Git
Git est un système de contrôle de version. Il permet de garder l’historique de ton code et de collaborer avec d’autres personnes.
GitHub
GitHub est un site web qui héberge des projets Git. Il permet de synchroniser ton code entre plusieurs machines grâce à Internet.
Pour plus d'information lire la partie Introduction Prérequis avoir créer son compte personnel
Commandes Git à connaître
| Commande | Description |
|---|---|
git clone |
Récupère une copie d’un dépôt GitHub sur ton ordinateur |
git add |
Prépare les fichiers à être enregistrés dans l’historique |
git commit -m "message" |
Enregistre un instantané de ton travail localement |
git push |
Envoie les commits vers GitHub |
git pull |
Récupère les dernières modifications depuis GitHub |
Mise en place de l’exercice
Vous pouvez démarrer un dépôt Git de deux manières.
- Vous pouvez prendre un répertoire existant et le transformer en dépôt Git.
- Vous pouvez cloner un dépôt Git existant sur un autre serveur.
Pour cette exercice nous allons utiliser principalement la solution 2
1. Crée un projet GitHub
- Va sur [https://github.com](https://github.com)
- Clique sur **"New repository"**
- Nom du dépôt : `test-postes`
- Laisse vide (ne coche pas "README", ni .gitignore)
- Clique sur **Create repository**
Après avoir créé le dépôt vide sur GitHub, une page “Quick setup” s’affiche. Elle te donne l’URL du dépôt et plusieurs recettes de lignes de commande pour :
- initialiser un nouveau dépôt local et le pousser vers GitHub, ou
- connecter un dépôt local existant au dépôt distant, puis pousser son historique.
en jaune le nom d'utilisateur que tu aura choisi lors de la création de ton compte Github
Examinons cette image et regardons ce que veulent dire ces instructions.
🔑 HTTPS ou SSH ?
Quand tu veux cloner ton dépôt depuis GitHub, deux choix s’offrent à toi :
- HTTPS →
https://github.com/TON-UTILISATEUR/test-postes.git - SSH →
git@github.com:TON-UTILISATEUR/test-postes.git
Elles mènent toutes les deux au même dépôt, mais la différence est dans la manière dont tu t’authentifies auprès de GitHub.
L’URL HTTPS
Exemple : https://github.com/TON-UTILISATEUR/test-postes.git
Décomposition :
https://→ protocole de connexion (comme quand tu navigues sur un site web).github.com→ le serveur GitHub.TON-UTILISATEUR→ ton identifiant GitHub.test-postes.git→ le nom du dépôt.
Comment ça marche ?
Avec HTTPS, tu dois entrer ton identifiant/mot de passe GitHub (ou un token personnel) quand tu fais git push.
C’est plus simple pour débuter, mais un peu répétitif si tu pousses souvent.
L’URL SSH
Exemple : git@github.com:TON-UTILISATEUR/test-postes.git
Décomposition :
git@→ l’utilisateur spécial utilisé pour les connexions SSH.github.com→ le serveur GitHub.:→ séparateur entre le serveur et le chemin.TON-UTILISATEUR/test-postes.git→ ton dépôt.
Comment ça marche ?
Avec SSH, tu relies ton ordinateur à ton compte GitHub grâce à une clé SSH (un fichier spécial que tu génères une seule fois).
Ensuite, tu peux faire git push sans retaper ton mot de passe.
Comparatif
| Méthode | Avantages | Inconvénients |
|---|---|---|
| HTTPS | Simple à utiliser pour débuter | Demande souvent ton mot de passe ou token |
| SSH | Pas besoin de mot de passe après installation | Nécessite de configurer une clé SSH au début |
NBous allons choisir pour cette exercice HTTPS.
Quand tu seras à l’aise : on configurera SSH pour gagner du temps.
2. Simule deux postes différents
Crée deux dossiers différents dans ton ordinateur :
poste-ecoleposte-maison
3. Clone le dépôt dans chaque dossier
Ouvre un terminal et tape :
# Poste école
cd chemin/vers/ton/dossier
mkdir poste-ecole
cd poste-ecole
git clone https://github.com/TON-UTILISATEUR/test-postes.git
# Poste maison
cd ..
mkdir poste-maison
cd poste-maison
git clone https://github.com/TON-UTILISATEUR/test-postes.git
Info
Tu peux bien sûre utiliser l'explorateur de fichier de windows !
Note
Remplace TON-UTILISATEUR par ton vrai identifiant GitHub.
tu peux avoir un warning afficher comme : warning: You appear to have cloned an empty repository.
C'est normal étant donnée que ton dépôt distant est vide !!
Étape 1 : Travailler depuis "poste école"
cd poste-ecole/test-postes
echo "Début du projet à l'école" > fichier.txt
git add fichier.txt
git commit -m "Début du travail à l'école"
git push
ce que tu viens de faire
echo: crée un fichier avec du contenugit add: indique à Git qu’on veut suivre ce fichiergit commit: enregistre localementgit push: envoie sur GitHub
Étape 2 : Continuer depuis "poste maison"
cd poste-maison/test-postes
git pull
echo "Suite du projet à la maison" >> fichier.txt
git add fichier.txt
git commit -m "Avancée à la maison"
git push
ce que tu viens de faire
git pull: récupère les modifications faites depuis l’école>>: ajoute une ligne au fichieradd, commit, push: mêmes étapes que précédemment
Étape 3 : Revenir à l’école
Avant de retravailler sur ton projet à l’école :
cd poste-ecole/test-postes
git pull
fichier.txt contient désormais deux lignes, et tu peux continuer à travailler !
✅ Ton objectif est atteint si :
- Tu as bien utilisé git add, commit, push et pull
- Ton fichier contient les modifications faites dans les deux dossiers
- Ton projet est synchronisé sur GitHub
⚠️ messages d’avertissement
Tu as eu ce message :
git: 'credential-manager-core' is not a git command. See 'git --help'.
Git essaie d’utiliser Git Credential Manager (un outil pour mémoriser ton mot de passe ou token).
Mais il n’est pas installé ou pas trouvé dans ton système.
Malgré ça, ton push a quand même fonctionné (tu as peut-être été invité à entrer tes identifiants avant, ou Git a utilisé une session déjà valide).
Navigation
Introduction Compte personnel Ex. Travailler sur 2 postes
