Utilisation Git 🗃️

« Tout devrait être rendu aussi simple que possible, mais pas plus simple »
— Albert Einstein

Git fonctionne nativement en ligne de commande sur votre machine locale, mais sa véritable puissance se révèle lorsque vous synchronisez votre code avec des plateformes d'hébergement cloud telles que GitHub, GitLab, Bitbucket ou Azure Repos.

Lorsque votre code est hébergé sur ces plateformes, on parle de dépôt distant (ou remote). Ce dépôt distant devient le référentiel centralisé accessible depuis le cloud.

Bien que Git opère localement via la ligne de commande, les plateformes d'hébergement Git comme GitHub étendent ses capacités en stockant les différents projets dans le cloud. Ces services transforment les dépôts locaux en dépôts distants collaboratifs, enrichis de fonctionnalités et d'outils CI/CD intégrés.

Organisation de l'espace de travail

Avant d'utiliser Git, organisez votre espace de travail en créant un répertoire dédié qui centralisera tous vos projets versionnés. Créez un dossier nommé "repos" sur votre machine. Ce répertoire principal hébergera l'ensemble de vos dépôts Git locaux, facilitant ainsi la navigation entre projets et garantissant un environnement de développement structuré.

# Création d'un dossier "repos"
mkdir repos

# Aller dans "repos"
cd repos

Pour transformer n'importe quel dossier en dépôt Git fonctionnel, utilisez la commande git init. Cette opération va créer un dépôt local de versionnement en générant un dossier caché .git qui contient toute la mécanique Git : historique des commits, configuration locale, références des branches, et métadonnées du projet.

Il est, cependant, important de comprendre que git init doit être exécuté dans chaque projet individuel, et non dans le dossier "repos". Le répertoire "repos" n'est qu'un conteneur organisationnel, comme un classeur qui regroupe plusieurs projets. Ainsi, chaque projet doit avoir son propre système de versioning indépendant.

# Aller dans repos
cd ~/repos

# Créer un nouveau projet
mkdir mon-projet-python

# Aller dans mon-projet-python
cd mon-projet-python

# Initialiser Git DANS le projet
git init

L'exécution de git init marque le début du suivi de version pour ce dossier. À partir de ce moment, Git peut enregistrer et gérer toutes les modifications apportées aux fichiers de ce répertoire.

On peut vérifier l’existence du fichier caché avec la commande :

ls -a

Cette commande affichera le répertoire .git nouvellement créé, preuve que votre dossier est maintenant sous contrôle de version Git.

Configuration de l'identité utilisateur

Avec votre dépôt local Git maintenant initialisé, vous disposez de l'infrastructure nécessaire pour versionner votre code. Cependant, avant de créer votre premier commit, Git a besoin de savoir qui vous êtes. Cette identification constitue la base de la traçabilité et de la collaboration dans tout projet versionné.

Chaque commit dans Git est signé avec les informations de son auteur. Cette signature permet de tracer qui a effectué quelles modifications et quand, essentiel pour la collaboration et l'audit de code.

Les paramètres --global s'appliquent à tous vos projets Git sur votre machine, évitant de reconfigurer ces informations pour chaque nouveau dépôt local.

git config --global user.name "Votre Nom Complet"

git config --global user.email "votre@email.com"

Pour maintenir une identité cohérente et professionnelle dans vos projets Git utilisez systématiquement votre nom complet tel qu'il apparaît dans les documents officiels de votre organisation, garantissant ainsi une identification claire et uniforme. Pour les projets d'entreprise, privilégiez toujours votre adresse email professionnelle, ce qui facilite la communication et renforce la traçabilité organisationnelle. Enfin, veillez à conserver une orthographe identique de votre nom à travers tous vos projets et contributions, évitant les variations qui pourraient fragmenter votre historique de commits et compliquer les recherches futures.

Validez que votre configuration a été correctement enregistrée en consultant les paramètres globaux :

git config --global --list

Utilisation de Git

Une fois votre configuration terminée, passons à l'utilisation concrète de Git. L'étape suivante consiste à comprendre comment sauvegarder efficacement vos modifications en utilisant le système unique de Git qui sépare la préparation des fichiers de leur validation définitive.

Git utilise un workflow en deux phases pour enregistrer vos modifications : la zone d'indexation (avec la commande git add) puis la validation définitive avec git commit. Cette approche vous permet de contrôler précisément quelles modifications inclure dans chaque sauvegarde.

1. Zone d'indexation (stage) : préparez vos changements

La zone de staging est comme une "salle d'attente" où vous indexez (ajoutez) les fichiers et modifications que vous souhaitez sauvegarder. Cette étape intermédiaire vous permet de choisir précisément ce qui sera inclus dans votre prochain commit.

git add exemple.html

Cette approche vous permet de créer des commits logiques en regroupant les fichiers liés.

Ajout de tous les fichiers (à utiliser avec précaution) :

git add .

Utilisez git status pour vérifier ce qui est en staging avant de commiter (d'enregister les modifications).

2. Commit : sauvegardez définitivement

Maintenant que vos modifications sont indexées (zone de staging), vous pouvez les sauvegarder définitivement avec un commit. La commande git commit transforme les fichiers stagés en un point de sauvegarde permanent dans l'historique de votre projet

git commit -m "Ajout du fichier exemple.html"

L'option -m (pour « message ») permet d'ajouter directement un message descriptif à votre commit. Sans cette option, Git ouvrira automatiquement un éditeur de texte pour que vous saisissiez le message.

💡 Bonnes pratiques pour les messages de commit

Un bon message de commit explique le changement. Il doit répondre au "pourquoi" :

✅ Messages recommandés :

  • "Optimise les requêtes SQL pour réduire le temps de chargement"
  • "Ajout validation du modèle en production"

❌ Messages à éviter :

  • "correctifs"
  • "changements divers"

Écrivez vos messages comme des ordres : "Ajout", "Corrige", "Supprime". Pourquoi ? Car Git lui-même utilise ce style : "Merge branch...", "Revert commit...".

Si vous devez utiliser "et" dans votre message, c'est probablement que votre commit fait trop de choses. Divisez-le !

Commandes Git essentielles

Vous connaissez désormais le processus de sauvegarde et les commandes Git essentielles. Bien que Git propose des dizaines de commandes, vous n'utiliserez au quotidien qu'un petit ensemble d'entre elles. Ces 5 commandes constituent votre point de départ avec Git :

  • git status – Votre tableau de bord
git status

Cette commande affiche l'état actuel de votre dépôt : fichiers modifiés, ajouts en attente, et position par rapport à la branche distante. Utilisez-la fréquemment pour garder une vue claire de votre travail.

  • git add – Sélectionner vos changements
git add exemple.py

Cette commande choisit précisément quels fichiers inclure dans votre prochain commit.

  • git commit – Sauvegarder définitivement
git commit -m "Votre message"

Transforme vos modifications sélectionnées en un point de sauvegarde permanent. Le message doit expliquer le "pourquoi" du changement.

  • git pull – Récupérer les modifications du dépôt distant
git pull origin main

Récupère et intègre les modifications du dépôt à distance. Exécutez cette commande régulièrement pour éviter les conflits majeurs.

  • git push – Intégrer les modifications distantes
git push origin main

Envoie vos commits locaux vers le dépôt partagé, rendant le code accessible dans le dépôt distant.

    Ces deux commandes seront détaillées dans la section « Git local vers Git collaboratif »

Git au quotidien : bonnes pratiques

Chaque commit doit représenter une seule unité logique de changement. Au lieu d'un commit important "Refonte complète du module", préférez plusieurs commits ciblés :

  • "Extrait la logique de validation dans une fonction séparée"
  • "Ajout tests unitaires pour le validateur"
  • "Optimise les performances de la validation"

Si vous travaillez en équipe, une routine de travail structurée avec Git permet de collaborer efficacement tout en maintenant un historique propre et compréhensible. Commencez chaque session par un git pull afin de synchroniser votre environnement avec les dernières modifications du projet. Ensuite, concentrez-vous sur une fonctionnalité précise et utilisez régulièrement git status pour suivre l’état de vos fichiers. Commitez vos changements par petites étapes cohérentes, chacune représentant une action logique. Une fois le travail terminé, utilisez git push pour partager vos contributions.

Cette approche méthodique réduit les risques de conflits, facilite les revues de code et améliore la lisibilité du projet dans le temps. Gardez en tête que Git n’est pas seulement un outil de versionnement : c’est aussi un moyen de communication. Vos commits racontent l’évolution du projet aux autres développeurs.

Avant d'explorer les git remote et workflows collaboratifs, consultez ces aide-mémoires :

Conseil : Parcourez ces documents pour identifier les commandes inconnues et créer votre roadmap d'approfondissement personnel.

Prochaine étape : Transformation de votre connaissance Git locale en workflows collaboratifs via les dépôts distants.