Première Partie :
Introduction à Git
GitIntroduction1BTSSIOLien du PDF
Git est un système de gestion de versions distribué.
Il permet de suivre l’historique des fichiers d’un projet, de collaborer à plusieurs et de revenir à un état antérieur si besoin.
Pourquoi utiliser Git ?
- Historique : on peut retrouver toutes les versions passées.
- Travail collaboratif : plusieurs personnes modifient le projet en parallèle.
- Sécurité : on peut annuler un changement problématique.
- Branches : tester des idées sans casser le code principal.
- Open Source : très utilisé dans les projets publics (GitHub, GitLab…).
Concepts de base
Dépôt (Repository)
Le dossier où Git enregistre tout : fichiers, historique, branches…
Un dépôt peut être local (sur votre PC) ou distant (GitHub, GitLab…).
Commit
Un commit = un instantané du projet avec un message décrivant la modification.
Branch (Branche)
Permet de travailler sur une fonctionnalité sans toucher au code principal (main
ou master
).
Merge (Fusion)
Assembler deux branches. Exemple : intégrer une nouvelle fonctionnalité dans main
.
⬆️ Push / ⬇️ Pull
- Push : envoyer vos commits vers le dépôt distant.
- Pull : récupérer les commits faits par les autres.
Clone
Copier un dépôt distant pour l’avoir en local.
Pull Request / Merge Request
Pull Request (PR) (GitHub) ou Merge Request (MR) (GitLab) = demander à intégrer son travail dans la branche principale.
Permet de relire le code avant la fusion.
Conflit
Arrive si deux personnes modifient la même ligne dans deux branches différentes.
Git demande de choisir quelle version garder.
.gitignore
Fichier qui liste ce que Git ne doit pas suivre (ex : fichiers temporaires, mots de passe, dossiers node_modules
).
Tag
Marque un commit important (ex : v1.0
).
Quelques commandes Git essentielles
# Initialiser un dépôt
git init
# Cloner un dépôt distant
git clone URL
# Vérifier l'état des fichiers
git status
# Ajouter un fichier pour le prochain commit
git add monfichier.php
# Créer un commit
git commit -m "Message descriptif"
# Envoyer les commits vers le dépôt distant
git push
# Récupérer les changements depuis le dépôt distant
git pull
# Créer une nouvelle branche
git branch nouvelle_fonction
# Changer de branche
git checkout nouvelle_fonction
# Fusionner une branche dans la branche actuelle
git merge nouvelle_fonction
Bonnes pratiques
- 💬 Messages de commit clairs : décrivez ce que vous avez fait.
- 🌿 Une branche par fonctionnalité : évite les conflits.
- 🔄 Pull souvent : restez à jour avec vos collègues.
- ✅ Relire avant de fusionner (Pull/Merge Request).
- 🛑 Utilisez
.gitignore
pour éviter de partager des fichiers inutiles ou sensibles.
Vocabulaire GIT
Repository (Dépôt)
Le dépôt est le dossier où Git stocke tout le projet : fichiers, historique des changements, branches…
On peut avoir un dépôt local (sur son PC) et un dépôt distant (sur GitHub, GitLab…) pour collaborer.
Commit
Un commit est comme une photo du projet à un instant donné.
On écrit un message (ex. : “Ajout page de connexion”) pour décrire ce qu’on a fait.
Branche (Branch)
Une branche est une version parallèle du projet où l’on développe une nouvelle fonctionnalité sans casser la branche principale.
Exemple : main
(code stable) et nouvelle-fonction
.
HEAD
HEAD indique où vous travaillez (sur quelle branche ou quel commit vous êtes actuellement).
Push
Push = envoyer vos commits du PC vers le dépôt distant.
C’est comme un upload pour partager votre travail.
Pull
Pull = récupérer les modifications faites par les autres depuis le dépôt distant vers votre PC.
C’est comme un download pour se mettre à jour.
Merge (Fusion)
Merge = assembler deux branches pour combiner leurs changements.
Exemple : on fusionne nouvelle-fonction
dans main
une fois la fonctionnalité terminée.
Pull Request (PR)
Sur GitHub (ou Bitbucket), une Pull Request sert à demander la fusion d’une branche dans la branche principale.
Elle permet de présenter le travail et demander une relecture (code review).
Merge Request (MR)
Sur GitLab, c’est exactement la même chose qu’une Pull Request mais on l’appelle Merge Request.
Conflit
Un conflit arrive quand deux personnes modifient la même ligne dans deux branches différentes.
Git demande alors de choisir quelle version garder.
.gitignore
Fichier spécial qui indique les fichiers ou dossiers que Git doit ignorer (ex. : mots de passe, fichiers temporaires, dossiers node_modules
).
Tag
Un tag sert à marquer un commit important (ex. : v1.0
) pour repérer facilement une version publiée.
💡 Résumé ultra-simple
- Commit = sauvegarde + message
- Branch = nouvelle piste de travail
- Push = envoyer | Pull = récupérer
- PR / MR = demander la fusion sur le dépôt distant
- Merge = assembler deux branches
TP N°1 – Premiers pas avec Git
🎯 Objectifs
- Savoir initialiser un dépôt Git
- Comprendre et faire des commits
- Créer et fusionner des branches
- Gérer un dépôt distant sur GitHub ou GitLab
- Découvrir les Pull Request / Merge Request
- Utiliser un fichier .gitignore
Préparation
- Vérifiez que Git est installé :
git --version
- Configurez votre identité :
git config --global user.name "Votre Nom" git config --global user.email "votre.email@exemple.com"
Créer un dépôt local
- Créez un dossier pour le projet :
mkdir mon-premier-git cd mon-premier-git
- Initialisez Git :
git init
- Créez un fichier
README.md
:# Mon premier projet Git Ceci est mon premier test avec Git 🚀
- Vérifiez l’état du dépôt :
git status
- Ajoutez le fichier à l’index :
git add README.md
- Créez votre premier commit :
git commit -m "Ajout du README initial"
Créer une branche et tester
- Créez une nouvelle branche :
git branch fonctionnalite-accueil
- Changez de branche :
git checkout fonctionnalite-accueil
- Ajoutez un fichier
index.html
:<!DOCTYPE html> <html> <head><title>Accueil</title></head> <body> <h1>Bienvenue sur mon projet Git !</h1> </body> </html>
- Validez vos changements :
git add index.html git commit -m "Ajout de la page d'accueil"
- Revenez sur la branche principale et fusionnez :
git checkout main git merge fonctionnalite-accueil
Ignorer des fichiers inutiles
- Créez un fichier
notes.txt
(à ne pas versionner). - Créez un fichier
.gitignore
:notes.txt
- Vérifiez avec
git status
quenotes.txt
est ignoré.
Utiliser un dépôt distant
- Créez un dépôt vide sur GitHub ou GitLab (nom :
mon-premier-git
). - Liez votre dépôt local :
git remote add origin https://github.com/<votre-user>/mon-premier-git.git
- Envoyez votre branche principale :
git push -u origin main
Créer une Pull Request / Merge Request
- Créez une nouvelle branche :
git checkout -b ajout-footer
- Modifiez
index.html
:<footer>Site BTS SIO</footer>
- Validez et poussez :
git add index.html git commit -m "Ajout d'un footer" git push origin ajout-footer
- Sur GitHub/GitLab : cliquez sur New Pull Request ou New Merge Request pour demander la fusion vers
main
. - Validez (merge) puis récupérez en local :
git checkout main git pull
Simuler un conflit
- Sur
main
, modifiez le titre deindex.html
:<h1>Bienvenue sur mon super projet Git !</h1>
git commit -am "Mise à jour du titre sur main"
- Sur la branche
ajout-footer
, modifiez la même ligne :<h1>Bienvenue sur le projet Git de la classe</h1>
git commit -am "Titre personnalisé sur ajout-footer" git checkout main git merge ajout-footer
- Git signale un conflit : ouvrez
index.html
, choisissez la bonne version, puis validez :git add index.html git commit -m "Résolution de conflit sur le titre"
Compétences mises en pratique
- Initialiser un dépôt (
git init
) - Suivre des fichiers (
add
,commit
,status
) - Utiliser les branches (
branch
,checkout
) - Fusionner (
merge
) - Gérer un dépôt distant (
remote
,push
,pull
) - Créer une Pull Request / Merge Request
- Utiliser
.gitignore
- Résoudre un conflit
Ce contenu est réservé aux membres du site. Si vous êtes un utilisateur existant, veuillez vous connecter. Les nouveaux utilisateurs peuvent s'inscrire ci-dessous.