QCM sur GIT – Gestionnaire de version – Partie 12

De plus en plus d’entreprises et d’organisations abandonnent les systèmes de contrôle de version centralisés SVN, au profit des systèmes distribués comme GIT, de nombreux développeurs découvrent leur première introduction sur Git, GitHub et GitLab. Ces 10 questions vous aident à tester vos connaissances sur divers sujets, notamment l’utilisation des commandes Git de base, l’historique, etc…
 
 

1. Votre projet actuel a plusieurs branches : master, beta, et push-notifications. Vous venez de terminer la fonctionnalité de notification dans la branche push-notification, et vous voulez la commiter dans la branche beta. Comment faire ?

A Allez sur la branche push-notifications et exécutez git merge beta

B Allez sur la branche master et lancer git merge beta -> push-notifications

C Supprimez la branche push-notifications et elle sera commitée à la branche master automatiquement.

D Allez sur la branche beta et exécuter git merge push-notifications

D
Allez sur la branche beta et exécuter $ git merge push-notifications

 

2. Que va afficher la commande suivante dans le terminal ?
$ git remote -v

A Une liste des dépôts distants et leurs URLs

B La version actuelle de git que vous utilisez

C Un éditeur en ligne pour modifier les dépôts distants

D Les 5 dernières versions de git que vous avez installées

A
La commande suivante $ git remote -v affiche une liste des repository distants et leurs URLs.

 

3. En regardant les commandes suivantes, décrivez ce qui se passe.
$ git checkout feature-user-profile
$ git cherry-pick a29842122sea09119336a3be2sdf59sdfo992eef45296744

A Le commit est en train d’être marqué pour mise en production sur la branche feature-user-profile.

B Un commit est en train d’être copié de sa branche d’origine vers la branche feature-user-profile.

C Le commit est en train d’être sélectionné comme nouveau HEAD de l’historique des commits.

D Un commit est en train d’être copié de la branche « feature-user-profile» vers la branche « master ».

E La branche est basculée sur la branche « feature-user-profile », et le commit spécifié est appliqué à la branche.

E
‘git checkout feature-user-profile’ passe à la branche ‘feature-user-profile’. ‘git cherry-pick a29842122sea09119336a3be2sdf59sdfo992eef45296744’ applique les changements du commit spécifié (‘a29842122sea09119336a3be2sdf59sdfo992eef45296744’) à la branche courante (feature-user-profile). Cela permet de copier le commit de sa branche d’origine vers la branche feature-user-profile. Ainsi, cette séquence de commandes sélectionne un commit spécifique sur la branche feature-user-profile.

 

 
 

4. Que fait la commande suivante sur le dépôt git ?
git reset --soft HEAD^

A Elle supprime tous les commits précédents et réinitialise l’historique du dépôt à son état initial.

B Elle réinitialise la branche de travail au premier commit.

C Il conserve le HEAD au commit actuel mais efface tous les commits précédents.

D Il met HEAD à la dernière commit et laisse les changements de la commit annulée dans le stage/index.

D
Il met HEAD à la dernière commit et laisse les changements de la commit annulée dans le stage/index.

 

5. Vous trouvez un bogue dans votre projet, mais vous ne parvenez pas à localiser l’endroit où il a été introduit dans l’historique des commits. Comment diagnostiquer ce problème ?

A Remontez manuellement dans l’historique des commits.

B Utilisez git search -diff pour comparer tous les commits dans l’historique de votre dépôt.

C Exécutez un git rebase pour trouver le commit défectueux.

D Utilisez git bisect pour comparer le commit bogué à un commit antérieur qui fonctionne comme prévu.

D
Utilisez git bisect pour comparer le commit bogué à un commit antérieur qui fonctionne comme prévu.

 

6. Pourquoi utiliser la commande suivante ?
git rebase -i HEAD~10

A Pour effectuer une recherche comparative des différences entre les 10 dernières commits.

B Pour lister les 10 derniers commits et les modifier avec la commande squash ou fixup

C Pour supprimer les 10 derniers commits et réinitialiser le HEAD

D Pour mettre en cache localement les 10 dernières modifications

B
Pour lister les 10 derniers commits et les modifier avec la commande squash ou fixup.

 

 
 

7. Comment fusionner plusieurs commits sans utiliser git merge –squash ?

A Vous ne pouvez pas. git merge –squash est la seule commande git pour cette opération.

B Rebasing

C Caching

D Reflogging

B
Dans Git, il y a deux méthode d’intégrer les modifications d’une branche dans une autre: en fusionnant (merge) et en rebasant (rebase).

 

8. Si vous clonez un dépôt git existant, que se passera-t-il ?

A Une nouvelle copie écraserait le dépôt central.

B Une copie du dépôt serait créée sur votre machine locale

C Rien, le clonage n’est pas une fonction git supportée.

D Une copie du dépôt serait créée sur la plateforme d’hébergement

B
Si vous clonez un dépôt git existant, une copie du dépôt serait créée sur votre machine locale.

 

9. Comment afficher la liste des fichiers ajoutés ou modifiés dans un commit spécifique ?

A Trouvez le commit dans le dépôt distant, car c’est le seul endroit où ce type d’information est stocké.

B Utilisez la commande diff-tree avec le hash du commit.

C Exécuter git commit –info avec le hash du commit.

D Accéder aux données du commit stash avec git stash.

B
Utilisez la commande diff-tree avec le hash du commit.

 

 
 

10. Quels sont les fichiers que ce .gitignore est programmé pour ignorer ?
#.swift
build/

*.txt
*.metadata

A Tous les fichiers avec une extension .swift, .txt, ou metadata, ainsi que l’ensemble du répertoire build.

B Uniquement le répertoire build

C Tous les fichiers du répertoire build, ainsi que les fichiers se terminant par .txt ou .metadata

D Uniquement les fichiers portant les extensions .swift et .txt.

C
Une ligne commençant par # sert de commentaire. Par conséquent, # .swift ne fait rien.

 

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *