Aller au contenu

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 clone
  • git add
  • git commit
  • git push
  • git 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.

  1. Vous pouvez prendre un répertoire existant et le transformer en dépôt Git.
  2. 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.

Image title

GitHub create repository

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 :

  • HTTPShttps://github.com/TON-UTILISATEUR/test-postes.git
  • SSHgit@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-ecole
  • poste-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 contenu
  • git add : indique à Git qu’on veut suivre ce fichier
  • git commit : enregistre localement
  • git 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 fichier
  • add, 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
Résultat Le fichier 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'.
C’est lié à la gestion des identifiants sous Windows.

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