Outils du développeur · Manuel numérique interactif
Git & GitHub — Manuel interactif
Manuel interactif complet de 82 pages conçu pour le Cégep (Techniques de l'informatique, 1re à 3e année). Maîtrise des fondamentaux locaux, gestion des branches, workflow GitHub, Pull Requests, intégration continue et aide-mémoire de survie. Intégration complète avec Google Docs et respect strict de la typographie française.
Ce que vous apprendrez
82 pages complètes réparties en 9 chapitres collégiaux avec typographie française stricte
Exercices pratiques adaptés au DEC en Techniques de l'informatique avec corrigés détaillés
Simulateur de terminal Git interactif intégré et aide-mémoire des 25 commandes indispensables
Générateur de flux de travail personnalisés Google Docs (export de fascicules, fiches de laboratoire et corrigés)
Table des matières
Introduction au contrôle de version
Qu'est-ce qu'un système de contrôle de version (VCS) ?
Pourquoi utiliser Git ?
Différence entre Git (le logiciel local) et GitHub (la plateforme cloud)
Installation et premier lancement
Installer Git sur Windows, macOS et Linux
Configurer son identité (nom et courriel)
Générer et configurer une clé SSH
Choisir son éditeur de texte par défaut
Vérifier sa configuration
Les fondamentaux de Git (en local)
Créer ou initialiser un dépôt local (git init)
Anatomie interne du répertoire caché .git
Le cycle de vie des fichiers dans Git
La zone de transit (staging area) : rôle et importance
Préparer les modifications avec git add
Enregistrer un instantané avec git commit
Ignorer des fichiers avec le fichier .gitignore
Consulter l'historique des modifications avec git log
Maîtriser le temps : annulations et retours en arrière
Vérifier l'état du projet avec git status
Comparer les modifications avec git diff
Annuler des modifications non validées avec git restore
Retirer un fichier de la zone de transit (unstage)
Modifier un commit récent avec git commit --amend
Voyager dans le temps avec git checkout ou git switch
Comprendre les réinitialisations avec git reset
Travailler en équipe avec les branches
Comprendre le principe des branches
Comment fonctionnent les branches sous le capot
Créer, basculer et supprimer une branche (git branch, git switch)
La commande combinée git switch -c
Fusionner des branches avec git merge
Fusion en avance rapide (fast-forward)
Fusion à trois voies (3-way merge commit)
Gérer et résoudre les conflits de fusion
Méthodologie pas à pas pour résoudre un conflit
Supprimer les branches obsolètes après fusion
Entrer dans l'écosystème GitHub
Créer un compte et configurer son profil GitHub
Sécuriser son compte avec l'authentification à deux facteurs
Ajouter sa clé publique SSH sur GitHub
Créer un dépôt distant sur GitHub
Lier un dépôt local à GitHub (git remote add)
Envoyer son code avec git push
Récupérer les modifications avec git fetch et git pull
Cloner un projet existant (git clone)
Collaboration avancée (Le Workflow GitHub)
Les modèles de collaboration en équipe collégiale et professionnelle
Le fonctionnement des Pull Requests (demandes de tirage)
Anatomie d'une Pull Request exemplaire
Faire une Code Review (revue de code) bienveillante et rigoureuse
Commenter le code et proposer des modifications interactives
Intégration continue (CI) et validation automatisée
Contribuer à un projet Open Source (le Fork)
Synchroniser son Fork avec le dépôt amont (upstream)
Bonnes pratiques et astuces
Rédiger de bons messages de commit (Conventional Commits)
La granularité idéale des commits et l'atomicité
Utiliser les alias Git pour aller plus vite
Mettre de côté son travail temporairement avec git stash
Nettoyer des fichiers non suivis avec git clean
Publier un site web simple avec GitHub Pages
Résolution des erreurs courantes (Aide-mémoire / Cheat Sheet)
Guide de survie des commandes indispensables (aide-mémoire condensé)
Comment réparer une fausse manipulation (Oops, I did it again)
Récupérer un commit ou une branche perdue avec git reflog
Résoudre l'erreur du push rejeté (rejected - non-fast-forward)
Sortir des situations bloquées dans le terminal (merge, rebase, vi)
Nettoyer un mot de passe ou un fichier secret commité par erreur
Les 10 règles d'or pour réussir tous ses projets informatiques au Cégep