Aller au contenu
English

Configurer Git

  • Leçon 2
  • 20 min
  • Module 1 : Comprendre un dépôt

Ce que vous saurez faire

Préparez Git à l’utilisation : installez-le, indiquez votre nom et créez votre premier dépôt. Après cette leçon, Git pourra enregistrer votre travail dans le projet ticket-notes.

Avant de commencerCe qu’il faut savoir et avoir sous la mainEnviron 20 minutes

Ce que vous devez savoir

Ce qu’il vous faut sur votre ordinateur

Testé avec Git 2.54 sur macOS, Windows (Git Bash) et Linux. Toute version de Git à partir de 2.40 convient pour cette leçon.

Un dépôt (ou repo) est un dossier de projet que Git suit. Il ressemble à un dossier normal, avec un ajout : un dossier caché nommé .git. Git conserve l’historique complet du projet dans .git.

N’ouvrez pas et ne modifiez pas vous-même le dossier .git. Utilisez les commandes Git, et Git mettra .git à jour pour vous. Si vous supprimez .git, le dossier redevient un dossier normal et l’historique disparaît.

Un dépôt peut exister à plusieurs endroits :

  • Un dépôt local se trouve sur votre ordinateur. Vous y travaillez, et Git n’a pas besoin d’Internet pour ce travail.
  • Un dépôt distant (ou remote) est une copie du même dépôt à un autre endroit. Il se trouve généralement sur un serveur, comme GitHub. Votre équipe partage son travail par le dépôt distant.

Git ne copie pas automatiquement votre travail vers un dépôt distant. Vous envoyez et recevez les modifications quand vous le décidez. Vous apprendrez comment au module 2.

  1. Dans le terminal, exécutez :

    Fenêtre de terminal
    git --version
  2. Si une fenêtre propose d’installer les « outils de développement en ligne de commande », sélectionnez Install (installer). Une fois l’installation terminée, exécutez de nouveau git --version.

La sortie affiche un numéro de version. Le vôtre peut être différent :

Sortie
git version 2.54.0

Chaque fois que vous enregistrez une modification, Git note qui l’a faite. Indiquez votre nom et votre adresse courriel à Git une seule fois. L’option --global signifie « utiliser ces valeurs pour tous les dépôts de cet ordinateur ».

  1. Définissez votre nom. Remplacez Your Name (votre nom) par votre nom et gardez les guillemets :

    Fenêtre de terminal
    git config --global user.name "Your Name"
  2. Définissez votre adresse courriel. Remplacez l’adresse d’exemple par la vôtre :

    Fenêtre de terminal
    git config --global user.email "you@example.com"
  3. Définissez main comme nom de la première branche des nouveaux dépôts :

    Fenêtre de terminal
    git config --global init.defaultBranch main

    Une branche est une ligne de travail dans un dépôt. Vous découvrirez les branches au module 2. La plupart des équipes nomment maintenant la première branche main. Certaines versions de Git utilisent master si vous ne définissez pas ce nom.

  4. Vérifiez vos paramètres :

    Fenêtre de terminal
    git config --global --list

    La sortie affiche vos valeurs :

    user.name=Amira Khan
    user.email=amira@example.com
    init.defaultbranch=main

    Git affiche les noms en minuscules. C’est normal.

Si la sortie contient une erreur, exécutez de nouveau la même commande git config avec la bonne valeur. La nouvelle valeur remplace l’ancienne.

  1. Allez dans votre dossier de projets :

    Fenêtre de terminal
    cd ~/projects
  2. Créez un dépôt nommé ticket-notes :

    Fenêtre de terminal
    git init ticket-notes

    Git crée le dossier et un dossier .git à l’intérieur :

    Initialized empty Git repository in /Users/amira/projects/ticket-notes/.git/
  3. Allez dans le dépôt :

    Fenêtre de terminal
    cd ticket-notes
  4. Affichez tous les fichiers, y compris les fichiers cachés. L’option -a signifie « tous » :

    Fenêtre de terminal
    ls -a
    . .. .git

    Le dossier .git est là. Sur certains systèmes, les noms apparaissent sur des lignes distinctes. . signifie « ce dossier » et .. signifie « le dossier au-dessus ».

  5. Demandez à Git l’état du dépôt :

    Fenêtre de terminal
    git status
    On branch main
    No commits yet
    nothing to commit (create/copy files and use "git add" to track)

    Vous utiliserez souvent git status. C’est la commande la plus sûre de Git, car elle affiche seulement des renseignements sans rien modifier.

Cloner signifie créer une copie complète d’un dépôt, avec son historique. Quand vous rejoignez une équipe, vous clonez généralement son dépôt depuis un serveur.

Vous pouvez aussi cloner un dépôt depuis un dossier sur votre propre ordinateur. Cela montre le lien entre les dépôts locaux et distants, sans compte sur un serveur. Amira clone ticket-notes dans un deuxième dossier :

Terminal
cd ~/projects
git clone ticket-notes ticket-notes-copy
Sortie
Cloning into 'ticket-notes-copy'...
warning: You appear to have cloned an empty repository.
done.

Cet avertissement est normal. Le dépôt d’origine ne contient pas encore de modifications enregistrées, donc la copie est vide aussi.

Ensuite, elle va dans la copie et demande à Git où se trouve son dépôt distant. L’option -v signifie « détaillé » : afficher plus de détails.

Terminal
cd ticket-notes-copy
git remote -v
Sortie
origin /Users/amira/projects/ticket-notes (fetch)
origin /Users/amira/projects/ticket-notes (push)

La copie garde en mémoire son origine. origin est le nom que Git donne au dépôt distant que vous avez cloné. Pour la copie, ticket-notes est le dépôt distant. Dans une équipe, origin est généralement une adresse sur un serveur, par exemple https://github.com/team/ticket-notes.git.

Le dépôt d’origine ticket-notes n’a pas de dépôt distant. Exécutez git remote -v dans ce dépôt : la sortie est vide.

Répondez à ces questions avec des commandes, pas de mémoire :

  1. Dans ticket-notes-copy, sur quelle branche êtes-vous? Utilisez git status.
  2. Est-ce que ticket-notes-copy possède son propre dossier .git? Utilisez ls -a.
  3. Est-ce que le dépôt d’origine ticket-notes a un dépôt distant? Utilisez git remote -v.

Quand vous avez terminé, supprimez la copie. Vous ne l’utiliserez plus, et il est facile de créer un nouveau clone. Remontez dans projects, puis supprimez le dossier :

Fenêtre de terminal
cd ~/projects
rm -rf ticket-notes-copy
Afficher les réponses
  1. main. Un clone utilise la même première branche que le dépôt d’origine.
  2. Oui. Chaque clone est un dépôt complet, avec son propre dossier .git et son propre historique.
  3. Non. git remote -v n’affiche rien dans ticket-notes, car vous l’avez créé avec git init, pas avec git clone.

Erreur courante

Ce n'est pas un dépôt Git

Symptôme : vous exécutez une commande Git, et Git affiche cette erreur :

fatal: not a git repository (or any of the parent directories): .git

Cause : le répertoire de travail n’est pas dans un dépôt. Git cherche un dossier .git dans le répertoire de travail et dans chaque dossier au-dessus. Il n’en a pas trouvé. Vous êtes généralement dans le mauvais dossier.

Solution :

  1. Exécutez pwd pour voir où vous êtes.
  2. Allez dans le dépôt, par exemple avec cd ~/projects/ticket-notes.
  3. Exécutez de nouveau la commande Git.

Une erreur semblable : vous avez exécuté git init dans votre dossier personnel. Maintenant, git status dans votre dossier personnel affiche tous vos fichiers comme non suivis. Pour corriger cela, allez dans votre dossier personnel et supprimez seulement son dossier .git avec rm -rf ~/.git. Vérifiez la commande avant de l’exécuter. Vos fichiers restent, et seul le nouvel historique vide est supprimé. Ne faites pas cela dans un vrai projet, car vous supprimeriez son historique.

Vérifiez votre compréhension

Amira exécute git status dans /Users/amira/projects. Git affiche « fatal : not a git repository ». Pourtant, ticket-notes est un dépôt. Pourquoi obtient-elle cette erreur?

Afficher la réponse

Le dossier projects n’est pas un dépôt. Le dépôt est le dossier ticket-notes à l’intérieur. Git cherche dans le répertoire de travail et les dossiers au-dessus, jamais dans les dossiers en dessous. Elle doit d’abord exécuter cd ticket-notes.

Vérifiez votre compréhension

Vérification pratique : montrez que Git connaît votre nom et votre adresse courriel, et que ticket-notes est un dépôt sans commits.

Afficher la réponse

Exécutez git config --global --list : la sortie affiche vos valeurs user.name et user.email. Puis exécutez cd ~/projects/ticket-notes et git status : la sortie affiche On branch main (sur la branche main) et No commits yet (aucun commit pour le moment).

Récapitulatif

  • Un dépôt est un dossier contenant un dossier caché .git, qui conserve l’historique.
  • Vous définissez votre nom et votre adresse courriel une seule fois avec git config --global.
  • git init crée un nouveau dépôt. git clone copie un dépôt existant, avec son historique.
  • Un dépôt local se trouve sur votre ordinateur. Un dépôt distant est une copie ailleurs. Git les relie seulement quand vous le lui demandez.
  • git status affiche l’état d’un dépôt sans rien modifier.

Ensuite, vous enregistrerez votre première modification dans ticket-notes.

Leçon suivante : Suivre une première modification