INITIALISATION DE GIT
Que vous soyez sur Windows, MacOS ou encore Linux, vous pouvez télécharger Git depuis le site officiel en choisissant la méthode adaptée à votre OS et à vos envies (ligne de commande, fichier binaire…).
Une fois l'installation terminée, vérifiez que Git est bien opérationnel sur votre machine en ouvrant un terminal et en tapant la commande suivante
CONFIGURATION DE GIT
Avant de commencer à utiliser Git, il est important de configurer votre identité. Cela permet d'associer vos commits à votre nom et adresse e-mail.
Configurer votre nom d'utilisateur et votre adresse e-mail :
git config --global user.name "Votre Nom"
git config --global user.email "votre.email@example.com"
VÉRIFICATION DE LA CONFIGURATION
Pour vérifier que votre configuration a été correctement appliquée, utilisez la commande suivante :
Vérifier la configuration actuelle :
git config --list
Ce qu'il faut savoir sur la structure d'un dépôt Git
Un dépôt Git se compose de plusieurs éléments clés :
- Le code source contenant le projet
- Un dossier caché nommé 📂 .git présent à la racine du répertoire d'un projet, dans lequel Git enregistre l'historique des modifications du projet. Il agit comme une base de données qui stocke toutes les versions passées et présentes des fichiers du projet. Cela permet de suivre l'évolution du projet au fil du temps, de revenir à des versions antérieures si nécessaire et de collaborer avec d'autres développeurs.
- Un dépôt local est le dépôt Git qui se trouve sur votre machine. C'est là que vous effectuez vos modifications, vos commits et vos tests avant de les envoyer vers un dépôt distant. c'est un espace de travail où vous pouvez développer votre projet en toute liberté, sans affecter les autres développeurs.
- Un dépôt distant est un dépôt Git qui est hébergé sur un serveur;par exemple (GitHub, GitLab, Bitbucket). C'est là que vous partagez votre code avec d'autres développeurs, la sauvegarde du code source garder un historique des modifications et où vous pouvez collaborer sur des projets.
Pour bien cerner la notion de dépôt Git, il est important de distinguer 2 types de dépôts : les dépôts locaux et le dépôt distant.
Dépôt Local
Dépôt Distant
INITIALISATION D'UN DÉPÔT GIT non versionné
Pour initialiser un nouveau dépôt Git dans un répertoire existant, utilisez la commande suivante :
Initialiser un dépôt Git :
git init
Cette commande crée un nouveau sous-répertoire nommé .git dans le répertoire actuel, qui contient tous les fichiers nécessaires à la gestion du dépôt Git. Vous pouvez ensuite commencer à ajouter des fichiers et à effectuer des commits.
PREPARATION DES MODIFICATIONS
git add . ou git add "nom_du_fichier" ou git add *
Cette commande git add .permet de préparer toutes les modifications du répertoire courant et de ses sous-répertoires pour le prochain commit. C'est une commande fondamentale du workflow Git, servant de passerelle entre votre répertoire de travail et la zone de préparation.
Comprendre le workflow GitPour bien comprendre l'objectif de git add; il est utile de comprendre les trois principaux états d'un projet Git:
- Répertoire de travail: c'est ici que vous modifiez vos fichiers. Il contient les fichiers en cours de modification.
- Zone de préparation (ou index): Il s'agit d'une solution intermédiaire où vous préparez un instantané de vos modifications avant de les valider. Considérez-la comme une zone de stockage temporaire où vous sélectionnez les modifications spécifiques à inclure dans votre prochain commit.
- Référentiel Git (Historique): c'est ici que Git stocke vos commits, qui sont des instantanés permanents de votre projet.
Comment ça git add . marche
Lorsque vous modifiez, ajoutez ou supprimez des fichiers dans votre répertoire de travail, Git considère ces modifications comme « non suivies » ou « non mises en scène ».
La git add . commande effectue les opérations suivantes:
Il indique à Git de regarder tous les fichiers nouveaux et modifiés dans votre répertoire actuel et tous les sous-répertoires.
Il déplace ensuite ces modifications du répertoire de travail vers la zone de préparation.
Cela signifie que toutes les modifications que vous avez apportées sont désormais « préparées », prêtes à être enregistrées sous forme d'instantané unique et cohérent lors de l'exécution de la git commit commande.
ÉTAT ET MODIFICATIONS
Pour vérifier l'état de votre dépôt Git et voir les modifications apportées, utilisez la commande suivante :
Vérifier l'état du dépôt :
git status
MODIFICATIONS
Pour voir les modifications apportées à votre dépôt, utilisez la commande suivante :
Afficher les modifications :
git diff
CREER UN COMMIT
Utilise l'impératif : "Ajouter", "Corriger", "Mettre à jour", etc.
Valider les modifications dans le dépôt :
git commit -m "Votre message de commit"
La commande git commit est l'une des plus fondamentales dans Git. Elle permet d'enregistrer
de façon permanente un instantané (snapshot) de l'état de ton projet à un moment donné dans
l'historique du dépôt.
🔹 Un commit n'est pas simplement une liste de modifications (comme dans certains anciens
systèmes de version),
🔹 C'est un point de sauvegarde complet de tous les fichiers suivis à cet instant.
STRUCTURE INTERNE D'UN COMMIT
Chaque commit est identifié par un hash SHA-1 (ex: a1b2c3d...) et contient :
Un commit contient: le hash, le message, l'auteur, la date, l'instantané des fichiers et la référence au commit parent.
Un arbre (tree) : référence à la structure des fichiers à cet instant.
Des parents : référence au(x) commit(s) précédent(s) (1 pour un commit normal, 2 pour un
merge).
Un auteur : qui a créé les modifications.
Un committer : qui a effectué le commit (souvent la même personne).
Un message : description du changement.
Une date : timestamp de création.
GESTION DES BRANCHES
Pour afficher la liste des branches dans votre dépôt Git, utilisez la commande suivante :
Un pointeur léger et nommé vers un commit spécifique est:
git branch
La commande git branch permet de lister, créer ou supprimer des branches dans votre dépôt.
🔹 Les branches sont des pointeurs vers des commits spécifiques.
🔹 La branche active est celle sur laquelle vous travaillez actuellement.
CHANGER DE BRANCHE
Pour changer de branche, utilisez la commande suivante :
La commande à utiliser pour naviguer rapidement entre les branches existantes et vous positionner sur celle sur laquelle vous souhaitez travailler est :
git checkout nom-de-la-branche
Listez les branches disponibles avec git branch.
git branch
Identifiez le nom de la branche vers laquelle vous souhaitez basculer. Utilisez la commande git checkout nom-de-la-branche pour passer sur cette branche.
RENOMMER UNE BRANCHE
Pour renommer une branche dans Git, utilisez la commande suivante :
Renommer une branche ne change pas sa position dans l'historique : elle reste un pointeur vers le même commit, seul son nom est mis à jour:
git branch -m "nouveau-nom"
La commande git branch -m permet de renommer la branche active.
🔹 Si vous êtes sur la branche à renommer, il suffit de spécifier le nouveau nom.
🔹 Pour renommer une branche inactive : git branch -m "ancien-nom" "nouveau-nom".
SUPPRIMER UNE BRANCHE
Pour supprimer une branche locale dans Git, utilisez la commande suivante :
Supprimer une branche revient à supprimer un pointeur vers un historique de commits. Le contenu n'est perdu que si aucun autre pointeur (branche ou tag) ne le référence.
git branch -d "nom-de-la-branche"
La commande git branch -d permet de supprimer une branche locale.
🔹 Le -d signifie delete (supprimer).
🔹 Git refuse par défaut de supprimer une branche non fusionnée pour éviter une perte de
données.
git branch -D "nom-branche"
Utilisez -D (en majuscule) pour forcer la suppression même si la branche n'a
pas été fusionnée.
⚠️ Attention : cette action peut entraîner la perte de commits non
fusionnés.
💡 Astuce : Avant de supprimer une branche,
assurez-vous qu'elle a bien été fusionnée dans main ou
dev pour ne rien perdre.
FUSIONNER DES BRANCHES
La fusion de branches (merge) permet d'intégrer les modifications d'une branche dans une autre, par exemple pour ajouter une fonctionnalité terminée à la branche de développement ou de production.
La fusion consiste à combiner les modifications de deux branches. Le résultat est un commit de fusion (merge commit) qui intègre l'historique des deux branches.
git merge "nom-de-la-branche"
Cette commande fusionne la branche spécifiée dans la branche active.
🔹 Avant de fusionner, basculez toujours sur la branche cible (celle qui
reçoit les modifications).
🔹 Exemple : pour intégrer feature/login dans dev, faites :
git checkout dev puis git merge feature/login.
🔹 Fusion automatique (fast-forward ou simple merge)
Si les branches n'ont pas de modifications conflictuelles, Git crée automatiquement un commit de fusion.
Exemple :
git checkout dev
git merge feature/profil
Git combine les commits et met à jour la branche dev.
⚠️ Résolution de conflits
Si les deux branches ont modifié la même partie d'un fichier, Git ne peut pas fusionner automatiquement. Un conflit survient.
Git marque les zones en conflit dans le fichier :
À vous de modifier le fichier pour résoudre le conflit, puis valider avec :
git add
git commit
💡 Astuce : Testez toujours votre code après une fusion, même sans conflit, pour éviter les régressions.
CLONER UN DÉPÔT
Pour copier un dépôt Git distant (par exemple depuis GitHub) vers votre machine locale, utilisez la commande suivante :
Le clonage crée une copie complète du dépôt, incluant tous les fichiers,
l'historique de commits, et les branches. La branche active par
défaut est généralement main.
git clone "url-du-depot"
🔹 Changer de branche après le clonage
Après le clonage, vous êtes sur la branche principale (main ou
master).
Pour travailler sur une autre branche (ex: dev) :
git checkout dev
Git détecte automatiquement la branche distante origin/dev
et configure le suivi local.
⚠️ Bonnes pratiques
✅ Toujours cloner un dépôt avant de commencer un projet existant.
✅ Vérifiez que vous avez les droits d'accès si le dépôt est privé.
✅ Utilisez git fetch régulièrement pour rester à jour avec les modifications
distantes.
TRAVAIL COLLABORATIF
Git et GitHub permettent une collaboration fluide entre plusieurs développeurs sur un même projet, grâce à l'utilisation des branches, des commits partagés et de la synchronisation avec un dépôt distant.
Le travail collaboratif repose sur la synchronisation entre les dépôts locaux des
développeurs et un dépôt distant (sur GitHub).
Chaque membre de l'équipe peut travailler sur sa branche, puis partager ses modifications
via
push et pull.
git pull origin "nom-de-la-branche"
La commande git push permet d'envoyer vos commits locaux vers le dépôt
distant.
Si la branche n'existe pas encore sur GitHub, Git la crée automatiquement.
Exemple : git push origin feature/profil.
Workflow collaboratif typique
- Cloner le dépôt :
git clone https://github.com/organisation/projet.git - Créer une branche dédiée :
git checkout -b feature/nouveau-bouton - Travailler, commit, commit :
git add .puisgit commit -m "Ajout bouton" - Pousser sa branche :
git push origin feature/nouveau-bouton - Ouvrir une Pull Request (PR) sur GitHub pour demander la fusion dans
devoumain - Revue de code par les autres membres de l'équipe
- Fusion après validation
⚠️ Bonnes pratiques
✅ Utilisez des branches dédiées pour chaque fonctionnalité ou
correction.
✅ Ne poussez jamais directement sur main sans revue de
code.
✅ Écrivez des messages de commit clairs (ex:
feat: ajouter le formulaire de contact).
✅ Résolvez les conflits localement avant de pousser.
💡 Astuce : Une Pull Request (PR) n'est pas une commande Git, mais une fonctionnalité de GitHub permettant de discuter, reviewer et fusionner du code en toute sécurité.