All guides
Intermediate-AdvancedSelf-pacedFree GuideSection 2/33

Git et GitHub

Learn to build and check a web application with development tools and AI assistants. Practise design, coding and validation.

The full lessons for this course are currently available in French. Use the section menu to navigate the French course.

💡

Free content, available without an account. Tools and models change: use the current model guide to check their versions. Models and sources

Section 13.1.2 : Git et GitHub

🎯 Objectif pédagogique

Comprendre et utiliser Git pour le versionnement de code et GitHub pour la collaboration. Vous saurez créer des repositories, committer, brancher, merger et travailler en équipe.


Pourquoi Git est indispensable

Imaginez que vous écrivez un roman. Vous faites des modifications, revenez en arrière, essayez des variantes... Sans système de versionnement, vous finiriez avec des fichiers comme roman_v2_final_VRAIMENT_FINAL_ok.docx. En développement, ce chaos serait catastrophique.

Git est un système de contrôle de version distribué créé en 2005 par Linus Torvalds (le créateur de Linux). Il enregistre chaque modification dans un historique permanent, vous permettant de revenir à n'importe quelle version, travailler en parallèle sur plusieurs fonctionnalités via des branches, et collaborer sans conflits.

Les concepts fondamentaux

Loading diagram…

Git organise votre travail en trois zones : le Working Directory (vos fichiers actuels), la Staging Area (modifications sélectionnées pour le prochain commit), et le Repository (historique complet des commits).

Configuration initiale

git config --global user.name 'Alice Martin'
git config --global user.email 'alice@example.com'
git config --global core.editor 'code --wait'
git config --global color.ui auto
git config --list

Votre premier repository

mkdir mon-projet && cd mon-projet
git init

touch index.html style.css app.js
echo '# Mon Projet' > README.md

git status
git add .
git commit -m 'Initial commit: structure du projet'

Le cycle de travail quotidien

# 1. Modifier des fichiers
echo '<h1>Hello World</h1>' >> index.html

# 2. Voir les modifications
git status                   # Fichiers modifiés
git diff                     # Détail ligne par ligne

# 3. Stager
git add index.html

# 4. Committer
git commit -m 'feat: add heading to homepage'

# 5. Historique
git log --oneline --graph

Conventional Commits

Adoptez cette convention dès le début — feat: nouvelle fonctionnalité, fix: correction, docs: documentation, style: formatage, refactor: restructuration, test: tests. Exemple : feat: add user authentication with Devise

Les branches : travailler en parallèle

Les branches sont la fonctionnalité qui rend Git indispensable en équipe. Une branche est une copie indépendante de votre code pour expérimenter sans casser la version stable.

git checkout -b feature/navbar
# ... coder la fonctionnalité ...
git add .
git commit -m 'feat: add navigation bar'

git checkout main
git merge feature/navbar
git branch -d feature/navbar
Loading diagram…

GitHub : collaborer dans le cloud

GitHub ajoute à Git des fonctionnalités essentielles : hébergement de repos, pull requests, issues, CI/CD, et un profil qui fait office de CV technique.

git remote add origin https://github.com/alice/mon-projet.git
git push -u origin main
git pull origin main
git clone https://github.com/lewagon/fullstack-challenges.git

Pull Requests et code review

Le workflow professionnel repose sur les Pull Requests : créer une branche, coder, pousser, ouvrir une PR, l'équipe review, merger dans main après approbation.

.gitignore

node_modules/          # Dépendances npm
.env                   # Variables secrètes
*.log                  # Logs
.DS_Store              # Fichiers macOS
dist/                  # Fichiers compilés

Git vs GitHub

CritèreGitGitHub
TypeLogiciel localPlateforme web cloud
FonctionVersionnement de codeHébergement et collaboration
AccèsLigne de commandeInterface web et CLI
PrixGratuit open sourceGratuit avec plans premium
AlternativesMercurial, SVNGitLab, Bitbucket

← Scroll horizontally →

Quick Check

Que fait la commande git add . ?

Quick Check

Pourquoi ne faut-il JAMAIS committer un fichier .env ?

Learn AI, from prompts to agents

15 free guidesQuizzes, diagrams and workshopsNo account needed

Your progress

Progress is self-reported and stored in your browser. The final completion record is not a qualification or an independent assessment.

View progress and completion record

Learn AI, from prompts to agents

15 free guidesQuizzes, diagrams and workshopsNo account needed

One practical AI workflow in your inbox

Methods, resources and new exercises. Free, unsubscribe at any time.