quiz Informatique · 22 questions

Gestion avancée de Git

help_outline 22 questions
timer ~11 min
auto_awesome Généré par IA
0 / 22
Score : 0%
1

Quel est l'effet de la commande « git add » sur l'état d'un fichier modifié ?

2

Après avoir créé une branche nommée "feature", quelle commande permet de basculer immédiatement dessus et créer la branche si elle n'existait pas encore ?

3

Quel fichier doit être ajouté au dépôt pour ignorer automatiquement les fichiers temporaires "tmp/" et les fichiers "*.user" ?

4

Quelle commande montre les différences ligne par ligne entre la copie de travail et le dernier commit ?

5

Dans quel état se trouve un fichier immédiatement après l'exécution de « git commit -a » ?

6

Quel est le rôle principal d'un dépôt distant dans un workflow Git collaboratif ?

7

Après avoir résolu un conflit de fusion, quelle séquence de commandes doit être exécutée pour finaliser la fusion ?

8

Quel drapeau de « git log » permet d'afficher les changements introduits par chaque commit sous forme de diff ?

9

Quel est le résultat de « git checkout HEAD~2 » ?

10

Quel fichier décrit les dépendances et les étapes de construction d'un projet CMake ?

11

Quelle commande supprime les fichiers objets et l'exécutable générés sans toucher aux sources ?

12

Quel est le principal avantage de l'utilisation de « git merge » plutôt que « git rebase » dans un projet partagé ?

13

Quel état indique que le fichier a été modifié localement mais n'a pas encore été ajouté à l'index ?

14

Quelle commande permet de visualiser les commits d'une branche distante sans les fusionner dans la branche locale ?

15

Dans le contexte de Git, que désigne le terme « HEAD » ?

16

Quel fichier doit être placé à la racine du dépôt pour définir les règles de fusion automatique lors d'un rebase ?

17

Quel est l'ordre correct des étapes lors d'un « git push » vers un dépôt distant après un commit local ?

18

Quel drapeau de « git log » permet d'afficher les commits sous forme d'arbre graphique ?

19

Quel est le résultat de « git status » lorsqu'un fichier est présent dans l'index mais a été modifié depuis le dernier commit ?

20

Quelle commande supprime les modifications locales non validées et restaure la copie de travail à la dernière version du dépôt ?

21

Dans le modèle Gitflow, quelle branche est destinée aux nouvelles fonctionnalités avant leur intégration dans la branche principale ?

22

Quel est le rôle de l'« index » (staging area) dans le processus Git ?

menu_book

Gestion avancée de Git

Révise les notions clés avant de passer le quiz

Gestion avancée de Git : concepts clés et bonnes pratiques

Ce cours vous propose une immersion détaillée dans les fonctionnalités avancées de Git. Vous découvrirez comment maîtriser les états des fichiers, créer et basculer rapidement entre les branches, ignorer les fichiers indésirables, visualiser les différences, valider les changements, collaborer avec un dépôt distant, résoudre les conflits et exploiter la puissance de git log -p. Chaque section est illustrée par des exemples concrets et des conseils SEO pour optimiser votre visibilité en ligne.

1. L’état des fichiers et la commande git add

Dans Git, chaque fichier peut se trouver dans l’un des trois états suivants : modifié (modified), indexé (staged) ou validé (committed). La commande git add joue un rôle central en passant un fichier de l’état modifié à l’état indexé.

  • Modifié : le fichier a été changé dans votre répertoire de travail, mais Git ne le suit pas encore pour le prochain commit.
  • Indexé : le fichier a été ajouté à l’index (ou « staging area ») grâce à git add. Il est prêt à être intégré dans le prochain commit.
  • Validé : le fichier fait partie d’un commit enregistré dans l’historique du dépôt.

Exemple pratique :

git status          # montre les fichiers modifiés
git add README.md   # passe README.md à l’état indexé
git status          # le fichier apparaît maintenant sous "Changes to be committed"

Astuce SEO : utilisez les mots‑clés « git add état indexé », « Git staging area » et « commande git add » dans vos articles pour attirer les développeurs cherchant à comprendre le workflow Git.

2. Créer et basculer rapidement sur une branche avec git switch -c

La gestion des branches est essentielle pour le développement parallèle. La commande git switch -c <nom‑branche> crée la branche si elle n’existe pas et vous y bascule immédiatement, le tout en une seule instruction.

Comparaison avec d’autres syntaxes :

  • git checkout -b feature crée et change de branche, mais git switch -c est plus explicite et recommandé depuis Git 2.23.
  • git branch feature && git switch feature nécessite deux commandes séparées.

Exemple d’utilisation :

git switch -c feature/nouvelle‑UI   # crée la branche et bascule dessus

Question interactive : Quel raccourci préférez‑vous pour créer et changer de branche en même temps ? a) git switch -c feature ou b) git checkout -b feature ?

3. Ignorer les fichiers indésirables avec .gitignore

Le fichier .gitignore permet de spécifier les chemins ou les motifs que Git doit ignorer. Il est placé à la racine du dépôt (ou dans des sous‑répertoires) et utilise une syntaxe simple.

Exemple de contenu pour ignorer les dossiers temporaires tmp/ et les fichiers *.user :

# Ignorer le répertoire temporaire
/tmp/
# Ignorer les fichiers de configuration utilisateur
*.user

Après avoir ajouté ou modifié .gitignore, il faut le committer pour que l’ensemble de l’équipe bénéficie de la même configuration.

4. Visualiser les différences avec git diff

La commande git diff compare le contenu du répertoire de travail avec le dernier commit (HEAD) ou avec l’index. Elle affiche les modifications ligne par ligne, ce qui facilite la révision du code.

Utilisations courantes :

  • git diff : différences entre le répertoire de travail et l’index.
  • git diff --staged : différences entre l’index et le dernier commit.
  • git diff HEAD~1 HEAD : différences entre deux commits spécifiques.

Exemple :

git diff          # montre les changements non encore indexés
git diff --staged # montre les changements qui seront commités

5. Valider les modifications avec git commit -a

L’option -a de git commit automatise l’étape d’indexation pour tous les fichiers déjà suivis. Ainsi, dès l’exécution de git commit -a -m "Message", les fichiers passent directement de l’état modifié à validé.

Illustration :

# Modifier plusieurs fichiers déjà suivis
git edit src/app.js
git edit README.md
# Committer en une seule commande
git commit -a -m "Mise à jour de l'application et du README"

Après le commit, les fichiers ne restent pas dans l’index ; ils sont déjà enregistrés dans l’historique du dépôt.

Analogie pédagogique : placer les devoirs dans le sac à dos (staged) puis les déposer dans le coffre de la classe (committed). Le sac est vide après le dépôt.

6. Le rôle du dépôt distant dans un workflow collaboratif

Un dépôt distant (ex. origin sur GitHub, GitLab ou Bitbucket) centralise les références partagées entre les développeurs. Son rôle principal est de synchroniser les dépôts locaux et de faciliter le travail d’équipe.

  • Partage des branches de fonctionnalité et de production.
  • Gestion des revues de code via les pull‑requests.
  • Sauvegarde centralisée du code source.

Commandes essentielles :

  • git push origin main : envoie les commits locaux vers le dépôt distant.
  • git pull ou git fetch && git merge : récupère les changements distants.

7. Résolution des conflits de fusion

Lorsqu’une fusion (merge) introduit des modifications incompatibles, Git signale un conflit. Après avoir résolu manuellement les parties conflictuelles, il faut finaliser la fusion.

La séquence correcte est :

# Après le merge, les fichiers en conflit sont marqués comme "both modified"
# Modifier les fichiers pour résoudre le conflit
git add 
# Créer le commit de fusion
git commit

Cette procédure ajoute les fichiers résolus à l’index puis crée le commit qui clôture la fusion.

8. Historique détaillé avec git log -p

L’option -p de git log affiche le patch (diff) de chaque commit, offrant une vue complète des changements ligne par ligne.

Exemple d’utilisation :

git log -p --stat          # montre le diff et un résumé statistique
git log -p -2              # affiche les deux derniers commits avec leurs diffs

Contrairement à --oneline (résumé) ou --graph (visualisation du graphe), -p fournit le contenu exact des modifications, indispensable pour les revues de code approfondies.

Question de révision : Quel drapeau choisiriez‑vous pour voir le diff complet d’un commit ? 1️⃣ --oneline 2️⃣ --graph 3️⃣ -p

9. Quiz récapitulatif – Testez vos connaissances

Pour consolider votre apprentissage, répondez aux questions suivantes. Les réponses correctes sont indiquées en gras.

  1. Quel est l’effet de la commande « git add » sur l’état d’un fichier modifié ?
    Le fichier passe de l’état modifié à l’état indexé
  2. Quelle commande bascule immédiatement sur une branche « feature » en la créant si nécessaire ?
    git switch -c feature
  3. Quel fichier doit être ajouté au dépôt pour ignorer les dossiers « tmp/ » et les fichiers « *.user » ?
    .gitignore
  4. Quelle commande montre les différences ligne par ligne entre la copie de travail et le dernier commit ?
    git diff
  5. Dans quel état se trouve un fichier immédiatement après « git commit -a » ?
    validé (committed)
  6. Quel est le rôle principal d’un dépôt distant dans un workflow collaboratif ?
    Synchroniser les dépôts locaux et faciliter le travail d'équipe
  7. Après avoir résolu un conflit de fusion, quelle séquence de commandes finalise la fusion ?
    git add puis git commit
  8. Quel drapeau de « git log » affiche les changements introduits par chaque commit sous forme de diff ?
    -p

En maîtrisant ces concepts, vous êtes désormais capable d’utiliser Git de façon avancée, d’optimiser votre flux de travail et d’améliorer la collaboration au sein de votre équipe.

Pour aller plus loin, explorez les sujets suivants : rebase interactif, hooks Git, stratégies de branching (Git Flow, GitHub Flow) et l’utilisation de git stash pour sauvegarder temporairement des travaux en cours.

Arrête de surligner.
Commence à apprendre.

Rejoins les étudiants qui ont déjà généré plus de 50 000 quiz sur Quizly. C'est gratuit pour démarrer.