Installation Git 🗃️

Git est un système de contrôle de version qui enregistre et orchestre l'évolution de vos fichiers de code au fil du temps. Créé par Linus Torvalds en 2005 (créateur de Linux), Git est aujourd'hui l'outil de versionnement de référence dans le développement logiciel.

Qu'est-ce que le contrôle de version (ou versionnement)? C'est un système qui enregistre l'historique complet des modifications apportées à vos fichiers. Il vous permet de revenir à des versions antérieures et de comparer les changements entre différentes versions.

Git offre ainsi la possibilité d'enregistrer des "versions figées" de votre projet à chaque commit (c'est-à-dire à chaque point de sauvegarde), créant ainsi une séquence chronologique de l'évolution de votre code. Cette chronologie interactive vous permet de naviguer dans l'historique des modifications enregistrées.

Néanmoins, Git ne se limite pas qu'à sauvegarder l'historique des modifications ; il rajoute des fonctionnalités spécialement conçues pour le développement :

  • Historique détaillé : savoir qui a apporté quelle modification et à quel moment.
  • Voyage dans le temps : revenir à n’importe quelle version précédente du projet.
  • Travail en parallèle : plusieurs personnes peuvent modifier le code simultanément.
  • Expérimentation sécurisée (branches) : créer des environnements isolés pour tester de nouvelles idées.
Différence entre dépôts local et distant

Lorsque vous travaillez avec Git, vous utilisez souvent deux espaces distincts appelés dépôts (repositories) :

  • Le dépôt local (🖥️) est votre espace de travail personnel sur votre machine. C'est votre environnement de travail quotidien où vous modifiez le code, enregistrez vos changements (commits) et testez vos fonctionnalités avant de les partager.
  • Le dépôt distant (☁️) est hébergé sur une plateforme en ligne (GitHub, GitLab, Bitbucket). Il remplit trois rôles essentiels : sauvegarder votre travail contre toute perte de données, synchroniser les contributions de plusieurs développeurs, et centraliser le code de l'ensemble de l'équipe

    Bien que souvent confondus, Git et GitHub sont deux outils distincts :

    • Git : Un logiciel de contrôle de version que vous installez sur votre ordinateur. Il vous permet de créer un dépôt local et de gérer l'historique des versions de vos fichiers directement sur votre machine.
    • GitHub : Une plateforme en ligne qui héberge vos dépôts Git. On parle alors de dépôt distant, car vos fichiers sont stockés sur les serveurs de GitHub plutôt que uniquement sur votre ordinateur.

    Git fonctionne donc de manière distribuée. Cela signifie que votre dépôt local est une copie complète et autonome du projet dans lequel vous travaillez, avec tout l'historique des modifications. Vous n'avez pas besoin d'être connecté à GitHub pour travailler : toutes les opérations Git (commits, branches, historique) fonctionnent directement sur votre ordinateur. GitHub ne sert qu'à synchroniser et partager votre travail.

Concepts essentiels
  • Repositories (Dépôts)
    Dossier contenant votre projet et son historique complet. Le dépôt garde en mémoire toutes les versions et modifications de vos fichiers grâce au dossier caché .git.
  • Commits
    Un commit est un ensemble de modifications dans votre dossier caché .git.
  • Branches
    Lignes de développement indépendantes. Elles permettent de travailler sur de nouvelles fonctionnalités ou corrections sans affecter la branche principale (main/master).
  • Merging (Fusion)
    Processus d'intégration des modifications d'une branche dans une autre. Git tente de combiner automatiquement les changements et signale les conflits quand nécessaire.
  • Tags (Étiquettes)
    Marqueurs permanents attachés à des commits spécifiques, généralement utilisés pour identifier des versions officielles (v1.0, v2.0) du projet. Nous pouvons utiliser des tags pour attribuer des étiquettes ou des alias à des commits, ce qui facilite la navigation d’une version à l’autre.

Avant de pouvoir utiliser Git, vous devez d'abord l'installer sur votre système. Suivez les instructions correspondant à votre système d'exploitation.

Installation de Git

Ce guide explique comment installer et mettre à jour Git sur différents systèmes d'exploitation.

Installation sur macOS (ou système d'exploitation Linux)

1. Vérifiez si Git est déjà installé :

git --version

2. Installer une version plus récente :

# Installation de Git
brew install git

# Mise à jour (si Git est déjà installé)
brew upgrade git

3. Vérifiez la nouvelle version :

git --version
Installation sur Windows (WSL2)

Grâce à WSL2 que vous avez configuré précédemment, nous n'utiliserons pas Git Bash. Vous installerez Git directement dans votre environnement Linux WSL2, soit en téléchargeant manuellement l'installeur depuis git-scm.com/downloads, soit via les commandes terminal (recommandé). Si vous utilisez Windows avec le Sous-système Windows pour Linux (WSL2), suivez ces étapes :

1. Vérifiez si Git est déjà installé :

git --version

2. Installer une version plus récente :

# Ajout du dépôt contenant les versions récentes de Git
sudo add-apt-repository ppa:git-core/ppa

# Mise à jour des indices du gestionnaire de paquets
sudo apt-get update

# Installation de Git
sudo apt-get install git

3. Vérifiez la nouvelle version :

git --version

Avant de continuer avec les sections suivantes, assurez-vous que la commande Git fonctionne correctement sur votre machine.

    Pour une expérience Git optimale dans VS Code, pensez à installer l'extension GitLens. Cette extension enrichit les fonctionnalités Git intégrées en ajoutant la visualisation de l'historique des lignes de code, la navigation dans les commits, et d'autres fonctionnalités qui faciliteront votre travail avec les dépôts Git.

Ressources

Créer un compte GitHub

Pour créer votre compte GitHub, consultez le guide officiel : Création d'un compte sur GitHub

Conseil : Choisissez un nom d'utilisateur professionnel, il sera visible publiquement et pourra servir pour votre portfolio.

Protection push de GitHub

Tout le contenu d'un dépôt public est visible par tous sur Internet. Évitez d'y stocker des données sensibles : mots de passe, clés API, tokens ou informations confidentielles. Pour renforcer la sécurité de vos dépôts, activez la protection push de GitHub qui empêche l'envoi accidentel de secrets. Cette fonctionnalité