Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Séminaire 0b : Prérequis Git


À qui cela s’adresse-t-il ? Étudiants débutant avec Git/GitHub.

Quand le faire : Compléter après le Séminaire 0a et avant le Séminaire 1.

Ce notebook est structuré concept-first :

  1. What Git is

  2. What a Git repository is

  3. Local vs remote repositories

  4. Core components (working directory, staging area, commit history)

  5. Essential lifecycle commands

  6. Daily workflow, .gitignore, and practice


1) Qu’est-ce que Git ?

Git est un système de contrôle de version distribué.

En pratique, Git vous aide à :

  • suivre chaque modification significative de votre projet

  • collaborer sans écraser le travail des autres

  • restaurer des versions antérieures lorsqu’un problème survient

Git est utilisé dans des projets personnels, des projets d’équipe et dans le travail open-source.

GitHub est une plateforme d’hébergement pour les dépôts Git (sauvegarde en ligne + collaboration).


2) Qu’est-ce qu’un dépôt Git ?

Un dépôt Git est votre projet ainsi que son historique complet des modifications.

Considérez-le comme un conteneur de projet qui stocke :

  • fichiers actuels

  • instantanés d’états précédents (commits)

  • métadonnées (qui a changé quoi, quand)

Un dépôt peut exister localement sur votre machine et à distance sur GitHub en même temps.


3) Dépôts locaux vs distants

Dépôt local

  • vit sur votre machine

  • vous pouvez add, commit, inspecter l’historique et travailler hors ligne

Dépôt distant

  • hébergé sur une plateforme telle que GitHub

  • utilisé pour la sauvegarde et la collaboration via push/pull

Vous utilisez généralement les deux : local pour coder au quotidien, distant pour partager/synchroniser. Les dépôts distants les plus courants sont GitHub et GitLab.


Prérequis : Installer Git

Installez Git depuis la source officielle : https://git-scm.com/downloads

Vérifiez l’installation :

git --version

Should return something like:

git version 2.50.1 (Apple Git-155)

4) Composants principaux d’un dépôt

Un dépôt Git possède trois zones de travail principales :

ComposantSignificationCommande typique
Répertoire de travailfichiers que vous éditez activementmodifier les fichiers
Zone de mise en scène (index)modifications sélectionnées pour le prochain instantanégit add
Historique des commitsinstantanés sauvegardés avec des messagesgit commit

Workflow model:

Working directory --git add--> Staging area --git commit--> Commit history --git push--> Remote repository

Configurer l’identité Git (une seule fois par machine)

git config --global user.name  "Your Full Name"
git config --global user.email "your.email@example.com"
git config --global --list

Utilisez la même adresse e-mail que votre compte GitHub pour une attribution claire.

5) Commandes du cycle de vie (concises)

Tout d’abord, créez un compte GitHub si nécessaire : https://github.com

Ensuite, utilisez ce cycle de vie minimal :

  1. git init -> crée les métadonnées du dépôt local

  2. git add -> met en scène les modifications sélectionnées

  3. git commit -> enregistre un instantané avec un message

  4. git remote add origin <url> -> connecte à GitHub

  5. git push -u origin main -> publie les commits

  6. git pull -> synchronise les dernières modifications distantes

  7. git clone <url> -> copie un dépôt existant

C’est l’épine dorsale de votre utilisation quotidienne de Git.


Exemple canonique : dépôt local

# go to project folder
cd ~/Documents/algorithmics   # macOS
# cd %USERPROFILE%\Documents\algorithmics   # Windows

# initialise local repo
git init

# create file, stage, commit
echo "# My algorithmics course" > README.md
git add README.md
git commit -m "Initial commit: add README"

# inspect
git status
git log --oneline

De bons messages de commit sont courts, précis et orientés vers l’action.

Connexion local -> distant (GitHub)

Create an empty repository on GitHub, then connect and push:

git remote add origin https://github.com/your-username/algorithmics.git
git push -u origin main

If authentication prompts appear, follow GitHub’s current auth method (usually browser/device flow or token, depending on your client).

After push, your commit history is now backed up and shareable on GitHub.

6) Flux de travail au quotidien

Utilisez cette boucle chaque fois que vous travaillez :

git pull
git add <file>   # or git add .
git commit -m "Describe what changed and why"
git push

Vérifications utiles :

git status
git diff
git log --oneline

Règle générale : faites des commits petits et significatifs.

.gitignore pour les projets Python

Git ne doit pas suivre les environnements virtuels, les caches, les données sensibles et les fichiers indésirables du système d’exploitation.

Créez .gitignore à la racine du projet :

venv/
__pycache__/
*.pyc
.ipynb_checkpoints/
.pytest_cache/
.ruff_cache/
.DS_Store
Thumbs.db

Commitez-le une fois :

git add .gitignore
git commit -m "Add .gitignore"
git push

Si venv/ était déjà suivi, arrêtez son suivi avec :

git rm --cached -r venv/

Cloner un dépôt existant

git clone https://github.com/username/repository-name.git
cd repository-name

Ensuite, configurez l’environnement Python pour ce projet :

python3 -m venv venv
source venv/bin/activate    # macOS
# venv\Scripts\activate.bat # Windows CMD
pip install -r requirements.txt

Commandes Git essentielles — Référence rapide

CommandWhat it does
git initInitialise un nouveau dépôt local dans le dossier courant
git clone <url>Clone un dépôt distant sur votre machine
git statusMontre quels fichiers ont changé ou sont en attente pour le commit
git add <file>Met en scène un fichier spécifique pour le prochain commit
git add .Met en scène tous les fichiers modifiés (à utiliser avec prudence)
git commit -m "msg"Enregistre un instantané des modifications mises en scène avec un message
git pushTéléverse les commits locaux vers le dépôt distant
git pullTélécharge et fusionne les modifications depuis le distant
git log --onelineAffiche l’historique des commits de façon compacte
git diffAffiche les modifications non mises en scène ligne par ligne
git restore <file>Annule les modifications non mises en scène dans un fichier
git remote -vAffiche les dépôts distants liés

Exercice : Pratique du flux de travail complet

Effectuez ces étapes sur votre machine :

  1. Assurez-vous que Git est installé et configuré avec votre nom et votre email (git config --global --list).

  2. Dans le dossier de votre projet algorithmics/, créez un nouveau fichier Python nommé hello.py avec le contenu suivant :

    print("Hello from Git!")
  3. Mettez-le en scène, committez-le avec le message "Add hello.py", et poussez-le vers votre dépôt GitHub.

  4. Ouvrez votre dépôt GitHub dans un navigateur et vérifiez que hello.py y apparaît.

  5. Éditez hello.py — modifiez le message affiché par print pour y mettre ce que vous voulez.

  6. Mettez la modification en scène, commitez avec un message descriptif, et poussez à nouveau.

  7. Sur GitHub, cliquez sur hello.py et puis History — vous devriez voir les deux commits.

Bonus : Ajoutez un .gitignore si vous ne l’avez pas déjà, committez-le, et confirmez qu’il apparaît sur GitHub.

Ressources supplémentaires

Vous n’avez pas besoin d’un Git avancé pour ce cours ; le flux de travail ci-dessus suffit. Si vous souhaitez approfondir :


Récapitulatif

ChapitreRésultat clé
Git basicsVous comprenez ce qu’est Git et pourquoi le contrôle de version est important
Repository modelVous comprenez les dépôts locaux vs distants
Core componentsVous comprenez le répertoire de travail, la zone de mise en scène et l’historique des commits
LifecycleVous pouvez run init/add/commit/push/pull/clone confidently
Daily usageVous pouvez suivre un flux de travail propre et maintenir .gitignore

Vous êtes maintenant prêt·e pour le Séminaire 1.