Configurer Git
- Leçon 2
- 20 min
- Module 1 : Comprendre un dépôt
Leçon 2 sur 15 · L'essentiel de Git et du développement en équipeConfigurer Git
1. Comprendre un dépôt
2. Travailler avec les branches et les dépôts distants
3. Collaborer par la revue de code
4. Résoudre et récupérer
5. Mises en production et correctifs urgents
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 main
Ce que vous devez savoir
- Comment ouvrir un terminal et changer de dossier avec
cd, selon Premiers pas dans le terminal : exemple détaillé : se repérer et changer de dossier.
Ce qu’il vous faut sur votre ordinateur
- Un terminal. Sous Windows, utilisez Git Bash, installé dans Premiers pas dans le terminal : obtenir un terminal.
- Le dossier
projectsdans votre dossier personnel. Vous l’avez créé dans Premiers pas dans le terminal : exercice guidé : créer le dossier d’exercice. S’il manque, exécutezmkdir ~/projects. - Aucun environnement d’exercice n’est nécessaire pour cette leçon. Vous créez
ticket-notesà partir de zéro à Étape 3 : créer un dépôt. S’il ne fonctionne plus, supprimez-le avecrm -rf ~/projects/ticket-notes, puis refaites l’étape 3.
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 est un dossier avec un historique
Section intitulée « Un dépôt est un dossier avec un historique »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.
Étape 1 : vérifier que Git est installé
Section intitulée « Étape 1 : vérifier que Git est installé »-
Dans le terminal, exécutez :
Fenêtre de terminal git --version -
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.
Vous avez installé Git dans la leçon précédente. Dans Git Bash, exécutez :
git --version-
Dans le terminal, exécutez :
Fenêtre de terminal git --version -
Si la sortie affiche
command not found(commande introuvable), installez Git. Sur Ubuntu ou Debian, exécutezsudo apt install git. Sur Fedora, exécutezsudo dnf install git. Puis exécutez de nouveaugit --version.
La sortie affiche un numéro de version. Le vôtre peut être différent :
git version 2.54.0Étape 2 : indiquer votre identité à Git
Section intitulée « Étape 2 : indiquer votre identité à Git »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 ».
-
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" -
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" -
Définissez
maincomme nom de la première branche des nouveaux dépôts :Fenêtre de terminal git config --global init.defaultBranch mainUne 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 utilisentmastersi vous ne définissez pas ce nom. -
Vérifiez vos paramètres :
Fenêtre de terminal git config --global --listLa sortie affiche vos valeurs :
user.name=Amira Khanuser.email=amira@example.cominit.defaultbranch=mainGit 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.
Étape 3 : créer un dépôt
Section intitulée « Étape 3 : créer un dépôt »-
Allez dans votre dossier de projets :
Fenêtre de terminal cd ~/projects -
Créez un dépôt nommé
ticket-notes:Fenêtre de terminal git init ticket-notesGit crée le dossier et un dossier
.gità l’intérieur :Initialized empty Git repository in /Users/amira/projects/ticket-notes/.git/ -
Allez dans le dépôt :
Fenêtre de terminal cd ticket-notes -
Affichez tous les fichiers, y compris les fichiers cachés. L’option
-asignifie « tous » :Fenêtre de terminal ls -a. .. .gitLe dossier
.gitest là. Sur certains systèmes, les noms apparaissent sur des lignes distinctes..signifie « ce dossier » et..signifie « le dossier au-dessus ». -
Demandez à Git l’état du dépôt :
Fenêtre de terminal git statusOn branch mainNo commits yetnothing 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.
Exemple détaillé : cloner un dépôt
Section intitulée « Exemple détaillé : cloner un dépôt »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 :
cd ~/projectsgit clone ticket-notes ticket-notes-copyCloning 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.
cd ticket-notes-copygit remote -vorigin /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.
À vous de jouer : examiner les deux dépôts
Section intitulée « À vous de jouer : examiner les deux dépôts »Répondez à ces questions avec des commandes, pas de mémoire :
- Dans
ticket-notes-copy, sur quelle branche êtes-vous? Utilisezgit status. - Est-ce que
ticket-notes-copypossède son propre dossier.git? Utilisezls -a. - Est-ce que le dépôt d’origine
ticket-notesa un dépôt distant? Utilisezgit 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 :
cd ~/projectsrm -rf ticket-notes-copyAfficher les réponses
main. Un clone utilise la même première branche que le dépôt d’origine.- Oui. Chaque clone est un dépôt complet, avec son propre dossier
.gitet son propre historique. - Non.
git remote -vn’affiche rien dansticket-notes, car vous l’avez créé avecgit init, pas avecgit 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): .gitCause : 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 :
- Exécutez
pwdpour voir où vous êtes. - Allez dans le dépôt, par exemple avec
cd ~/projects/ticket-notes. - 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.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
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).
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
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 initcrée un nouveau dépôt.git clonecopie 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 statusaffiche 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