QCM sur GIT – Gestionnaire de version – Partie 11

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. Git Pull est une combinaison de _________________

A fetch et merge

B add et commit

C branch et checkout

D Aucun de ces éléments

A
La commande git pull est en fait une combinaison de deux autres commandes, git fetch suivi de git merge. Dans un premier temps, git pull exécute un git fetch sur la branche locale vers laquelle HEAD pointe. Une fois le contenu téléchargé, git pull entre dans un processus de fusion.

 

2. Quelle est la fonction de « GIT PUSH » dans GIT ?

A GIT PUSH les refs distants avec les objets associés.

B GIT PUSH met à jour les références distantes.

C GIT PUSH met à jour les refs distants ainsi que les objets associés.

D Aucune de ces réponses

C
GIT PUSH met à jour les refs distants ainsi que les objets associés.

 

3. Pour créer un dépôt Git, quelle commande devez-vous exécuter ?

A $ git create <nom du projet>

B $ git new

C $ git new <nom du projet>

D $ git init

D
Pour créer un nouveau référentiel, vous utiliserez la commande git init. git init est une commande unique que vous utilisez lors de la configuration initiale d’un nouveau référentiel. L’exécution de cette commande créera un nouveau sous-répertoire .git dans votre répertoire de travail actuel. Cela créera également une nouvelle branche principale (main).

 

 
 

4. Quelle commande exécuteriez-vous pour enregistrer les modifications dans le fichier js/app.js ?

A $ git add js/app.js

B $ git stage js/app.js

C $ git commit js/app.js

D $ git commit js/app.js –to-staging-area

A
La commande $ git add js/app.js enregistrer les modifications dans le fichier js/app.js.

 

5. Quel est le nom du fichier utilisé pour indiquer à Git d’ignorer certains fichiers ?

A gitignore

B .gitignore ️

C ignore.git

D ignore

B
L’objectif des fichiers gitignore est de s’assurer que certains fichiers qui ne sont pas trackés par Git restent non trackés. Pour arrêter le tracking d’un fichier qui est actuellement tracké, utilisez git rm –cached pour supprimer le fichier de l’index. Le nom du fichier peut alors être ajouté au fichier . gitignore pour empêcher le fichier d’être réintroduit dans des commits ultérieurs.

 

6. Quelle commande permet d’ajouter une branche distante au référentiel ?

A $ git remote add <nom> <url>

B $ git branch –remote <nom> <url>

C $ git remote new <nom> <url>

D $ git branch <nom> <url>

A
La commande $ git remote add <nom> <url> permet d’ajouter une branche distante au référentiel.

 

 
 

7. Quelle commande créerait l’alias c pour la commande commit (au niveau global ou utilisateur) ?

A $ git config –global alias.c commit

B $ git config –global alias.commit c

C $ git config alias.c commit

D $ git config alias.commit c

A
La commande $ git config --global alias.c commit créerait l’alias c pour la commande commit.

 

8. Quelle commande qui affichera le diff du fichier README, en comparant la version dans la zone de staging avec la dernière version commitée.

A $ git diff README

B $ git diff staged README

C $ git difference–staged README

D $ git diff –staged README

D
La commande $ git diff --staged README affichera le diff du fichier README, en comparant la version dans la zone de staging avec la dernière version commitée.

 

9. Si vous clonez un dépôt qui contient des sous-modules, ils seront initialisés __________

A seulement après git submodule init et git submodule update

B après git submodule init et git submodule update ou si vous clonez avec l’argument –recursif

C seulement si vous clonez avec l’argument –recursif

D seulement si vous clonez avec l’argument –submodules

B
Si vous clonez un dépôt qui contient des sous-modules, ils seront initialisés après git submodule init et git submodule update ou si vous clonez avec l’argument –recursif.

 

 
 

10. Décrivez ce que ces commandes Git font à l’historique des commits :
$ git reset --hard HEAD~5
$ git merge --squash HEAD@{1}

A Elles réinitialisent le HEAD au cinquième commit du repository, puis fusionnent avec la branche master.

B Le HEAD de la branche courante est réinitialisé à cinq commits, puis les commits précédents sont écrasés en un seul commit.

C Ils suppriment les cinq derniers commits.

D Ils fusionnent les cinq derniers commits dans une nouvelle branche.

B
$ git reset --hard HEAD~5 réinitialise la branche courante au commit juste avant le dernier 5. Comme il s’agit d’une réinitialisation en dur, elle écrasera également tous les changements dans l’arbre de travail. Voir man git-reset.

$ git merge --squash HEAD@{1} HEAD@{1} est l’endroit où se trouvait la branche juste avant la commande précédente. Cette commande définit l’état de l’index comme il le serait juste après une fusion à partir de ce commit. Toute cette opération pourrait être un moyen de prendre 5 commits d’une branche dans laquelle vous avez commencé une nouvelle fonction et de les écraser en un seul commit, un commit significatif.

 

 

Laisser un commentaire

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