Git et GitHub pour Débutants en 2026 : Guide Complet
Git est l'outil de contrôle de version que tout développeur doit maîtriser. En 2026, ne pas savoir utiliser Git est un dealbreaker en entreprise. Ce guide vous explique tout de zéro, avec les commandes que vous utiliserez vraiment au quotidien.
Pourquoi Git est indispensable
Git permet de :
- Sauvegarder l'historique complet de votre code
- Travailler à plusieurs sans se marcher dessus
- Revenir à une version précédente si quelque chose casse
- Expérimenter dans des branches séparées
- Contribuer à des projets open-source
Installation et configuration
# Linux
sudo apt install git
# Mac (via Homebrew)
brew install git
# Windows
# Télécharger Git for Windows : git-scm.com
# Configuration initiale (obligatoire)
git config --global user.name "Votre Nom"
git config --global user.email "vous@example.com"
git config --global init.defaultBranch main # Branche par défaut
# Vérifier la config
git config --list
Les concepts fondamentaux
Le Repository (Repo)
Un repo Git est un dossier suivi par Git. Il contient votre code + un historique de toutes les modifications.
Les 3 zones de Git
- Working Directory : vos fichiers tels qu'ils sont sur le disque
- Staging Area (Index) : ce que vous avez préparé pour le prochain commit
- Repository : l'historique des commits sauvegardés
Les commandes essentielles
Initialiser et créer un repo
# Initialiser Git dans un dossier existant
cd mon-projet
git init
# Ou cloner un repo existant
git clone https://github.com/user/repo.git
git clone https://github.com/user/repo.git mon-dossier-local
Le cycle basique add → commit → push
# Voir l'état de votre repo
git status
# Ajouter des fichiers au staging
git add fichier.txt # Un fichier
git add src/ # Un dossier entier
git add . # Tous les fichiers modifiés
# Créer un commit
git commit -m "feat: ajouter la page de connexion"
# Voir l'historique
git log
git log --oneline # Format compact
git log --oneline --graph # Avec branches visuelles
# Envoyer sur GitHub
git push origin main
Messages de commit — Bonne pratique
La convention Conventional Commits est la plus répandue en 2026 :
feat: ajouter la fonctionnalité de recherche
fix: corriger le bug de connexion sur mobile
docs: mettre à jour le README
style: formater le code avec Prettier
refactor: simplifier la logique d'authentification
test: ajouter les tests unitaires pour userService
chore: mettre à jour les dépendances
Travailler avec des branches
# Lister les branches
git branch
# Créer une branche
git branch feature/page-contact
# Créer ET basculer dessus
git checkout -b feature/page-contact
# Ou en moderne Git :
git switch -c feature/page-contact
# Basculer entre branches
git switch main
git switch feature/page-contact
# Fusionner une branche dans main
git switch main
git merge feature/page-contact
# Supprimer une branche
git branch -d feature/page-contact # Après merge
git branch -D feature/page-contact # Force (sans merge)
Corriger des erreurs courantes
# Annuler les modifications non commitées
git restore fichier.txt # Un fichier
git restore . # Tout
# Retirer un fichier du staging
git restore --staged fichier.txt
# Annuler le dernier commit (garder les modifs)
git reset --soft HEAD~1
# Modifier le dernier commit (message ou contenu)
git commit --amend -m "Nouveau message"
# Voir les différences
git diff # Modifs non stagées
git diff --staged # Modifs stagées
Travailler avec GitHub
Connecter votre repo local à GitHub
# 1. Créer un repo sur github.com
# 2. Connecter votre repo local
git remote add origin https://github.com/vous/votre-repo.git
git branch -M main
git push -u origin main
Pull Requests — Le workflow pro
# Workflow standard en équipe
git switch main
git pull origin main # Mettre à jour local
git switch -c feature/nouvelle-fonctionnalite
# ... travaillez sur votre feature ...
git add .
git commit -m "feat: ajouter la fonctionnalité"
git push origin feature/nouvelle-fonctionnalite
# Ensuite, créez une Pull Request sur GitHub
# Demandez une review à vos collègues
# Après approbation : merge dans main
Récupérer les dernières modifications
# Récupérer et fusionner
git pull origin main
# Récupérer sans fusionner
git fetch origin
# Rebase — réappliquer vos commits sur la version la plus récente
git fetch origin
git rebase origin/main
Le .gitignore — Ce qu'on ne commit JAMAIS
# Exemple de .gitignore pour un projet Node.js
node_modules/
.env
.env.local
.env.production
dist/
build/
*.log
.DS_Store # Mac
Thumbs.db # Windows
.vscode/ # Configuration IDE (optionnel)
coverage/ # Rapports de tests
Commandes Git que j'utilise quotidiennement
git status # Où j'en suis
git add . # Tout stager
git commit -m "..." # Committer
git push # Envoyer sur GitHub
git pull # Récupérer les dernières modifs
git log --oneline # Historique rapide
git switch -c branch # Créer une branche
git diff # Voir les changements
Ressources pour aller plus loin
- Pro Git (gratuit en ligne) : la référence absolue sur Git
- Oh My Git! : jeu interactif pour apprendre Git
- Learn Git Branching : visualisation interactive des branches
- GitHub Skills : cours officiels GitHub gratuits