9. 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 (notre cas !).

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 à toute l'équipe depuis le cloud.

Bien que Git opère localement via la ligne de commande, les plateformes d'hébergement Git comme Azure Repos é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 d'équipe 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 bien 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 fondamentale va créer l'infrastructure de versionnement en générant un répertoire 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.

# Aller dans repos
cd ~/repos
# Créer un nouveau projet
mkdir mon-projet-python
cd mon-projet-python
# Initialiser Git DANS le projet
git init
    

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

ls -a

Configuration de l'identité utilisateur

Avec votre dépôt 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é.

git config --global user.name "Votre Nom Complet"
git config --global user.email "votre.email@radio-canada.ca"
    

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

git config --global --list

Processus de sauvegarde

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.

1. Zone de staging : préparez vos changements

La zone de staging est comme une "salle d'attente" où vous rassemblez les modifications avant de les sauvegarder définitivement. Cette étape intermédiaire vous permet de choisir précisément ce qui sera inclus dans votre prochain commit.

git add contact.html
git add styles/contact.css
    

Ajout global (avec prudence) :

git add .

2. Commit : sauvegardez définitivement

Le commit transforme les fichiers en staging en un point de sauvegarde permanent dans l'historique.

git commit -m "Ajoute formulaire de contact avec validation email"

Commandes Git essentielles

Dans 90 % des situations, ces 5 commandes couvriront presque tous vos besoins :

  • git status – Votre tableau de bord
git status
  • git add – Sélectionner vos changements
git add fichier.py
git add src/  # Ajouter un dossier entier
    
  • git commit – Sauvegarder définitivement
git commit -m "Ajoute validation des données utilisateur"
  • git pull – Synchroniser avec l'équipe
git pull origin main
  • git push – Partager votre travail
git push origin main

Enrichissement du workflow

git branch                 # Liste toutes les branches locales
git branch -d feature-login  # Supprime une branche fusionnée
git checkout -b nouvelle-feature  # Crée et bascule sur une nouvelle branche
git switch main           # Changer de branche
    
git log --oneline
git log --graph
git diff
    
git merge feature-branch
git rebase main
git stash
    

Bonnes pratiques pour un workflow efficace

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

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

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 avec l’équipe.

Git excelle en versionnement local, mais sa vraie puissance émerge dans la collaboration cloud. Les plateformes d'hébergement – GitHub, GitLab, Azure Repos, Bitbucket – transforment votre travail individuel en environnement collaboratif.

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

  • Aide-mémoire GitHub : Référence visuelle complète
  • Aide-mémoire Azure DevOps : Adapté à notre environnement

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