QCM sur GIT – Gestionnaire de version – Partie 17

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. Quel est le principal problème lié à l’utilisation de git rebase lorsque l’on travaille avec plusieurs développeurs ?

A Rebase n’affecte que votre dépôt et crée un diff dans la branche master.

B Rebase crée une copie temporaire de la branche master dans le dépôt distant.

C Rebase déplace le HEAD de la branche master distante d’un commit vers l’avant.

D Rebase supprime tout l’historique des commit pour la nouvelle branche feature.

A
Les dépôts Git sont distribués (largement copiés). Les nouveaux historiques créés par le rebasage n’affectent qu’un seul dépôt. C’est pourquoi vous devez utiliser –force pendant votre push, pour forcer un autre dépôt à accepter la « réécriture de l’historique ». Mais cela n’affecte qu’une seule autre copie, pas toutes les autres.

 

2. Quelle option de la commande git log permet de limiter la sortie aux commits effectués après une certaine date ?

A --since

B --sinceWhen

C -<n>

D --afterDate

A
--since=<date1> limite aux commits plus récents que date1. Exemple:

git log --since="2024-02-12T16:36:00-07:00"

 

3. Comment supprimer de votre projet les objets inaccessibles datant de plus d’un certain temps ?

A $ git cache --obsolete <time>

B $ git branch --rebase <time>

C $ git delete --inert <time>

D $ git prune --expire <time>

D
La commande git prune est un utilitaire qui permet de nettoyer les objets git inaccessibles ou orphelins. Les objets inaccessibles sont ceux qui ne sont accessibles par aucun ref. Par exemple, supposons que vous ayez fait deux commits, et que vous les ayez réinitialisés à des têtes différentes en appelant la commande git reset <commit id>. Bien que la commande git log n’affiche pas les informations sur le commit, git les stocke en interne comme un objet inatteignable.

Les utilisateurs n’ont pas besoin d’appeler directement la commande git prune, mais peuvent appeler git gc, la commande git garbage collection. Cette commande permet de supprimer les données et d’effectuer de nombreuses autres tâches de nettoyage.

 

 
 

4. Quels sont les conflits qui peuvent survenir lorsque l’on force une push après un rebasing ?

A La branche master distante pourrait voir ses modifications écrasées.

B L’URL d’origine sera réinitialisée à sa valeur par défaut.

C Le HEAD actuel sera supprimé et ne pourra pas être rétabli.

D Rien, c’est une pratique courante de forcer un push après une rebase.

A
Si on force une push après un rebasing, la branche master distante pourrait voir ses modifications écrasées.

 

5. Quelle est la différence entre Git et SVN ?

A Git fonctionne uniquement sous Linux, tandis que SVN fonctionne sur tous les systèmes d’exploitation.

B SVN fonctionne uniquement sous Linux, tandis que Git fonctionne sur tous les systèmes d’exploitation.

C SVN est un système centralisé, alors que Git est un système distribué.

D Git est un système centralisé, tandis que SVN est un système distribué.

C
SVN est un système centralisé, alors que Git est un système distribué.

 

6. Cette commande est un exemple de quel type de tag ?
$ git tag -a v1.4 -m "TEST v1.5"

A verbeux

B annoté

C léger

D différé

B
La commande ci-dessus est un exemple de tag annoté.

 

 
 

7. Quelle est la différence entre un soft reset (git reset –soft) et un hard reset (git reset -hard) ?

A Un soft reset ne modifie que le commit vers lequel HEAD pointe, alors qu’un hard reset réinitialise l’index et l’arbre de travail pour qu’ils correspondent au commit spécifié, en abandonnant tous les changements.

B Un soft reset met en cache l’ancien pointeur HEAD, alors qu’un hard reset le supprime entièrement.

C Un hard reset ne modifie que l’emplacement du pointeur HEAD, tandis qu’un soft reset modifie le HEAD et l’index.

D Un hard reset met en cache l’ancien pointeur HEAD, tandis qu’un soft reset le supprime entièrement.

A
Un soft reset ne modifie que le commit vers lequel HEAD pointe, alors qu’un hard reset réinitialise l’index et l’arbre de travail pour qu’ils correspondent au commit spécifié, en abandonnant tous les changements.

 

8. Quelles sont les informations stockées dans le fichier de configuration de git ?

A les scripts et les drapeaux de l’interpréteur de commandes

B les clés et les informations sur le compte

C les options locales et globales du dépôt

D scripts et paramètres de précompilation

C
git/config dans chaque dépôt est utilisé pour stocker la configuration de ce dépôt, et $HOME/. gitconfig est utilisé pour stocker une configuration par utilisateur comme valeurs de secours pour le fichier . git/config. Le fichier /etc/gitconfig peut être utilisé pour stocker une configuration par défaut pour l’ensemble du système.

 

9. Quelle est la différence entre les commandes git stash et git stash pop ?

A git stash supprime un commit de l’historique du repo, tandis que git stash pop sauvegarde les modifications sur plusieurs branches.

B git stash sauvegarde les modifications sur plusieurs branches, alors que git stash pop supprime un commit de l’historique du repo.

C git stash supprime le commit le plus récent, tandis que git stash pop enregistre les modifications en cours.

D git stash crée une entrée de stash, tandis que git stash pop place un état sauvegardé de la liste de stash dans le répertoire de travail.

D
git stash crée une entrée de stash, tandis que git stash pop place un état sauvegardé de la liste de stash dans le répertoire de travail.

 

 
 

10. Quelle commande peut être utilisée pour lister les branches qui ont été fusionnées dans la branche en cours de vérification ?

A $ git master –status

B $ git branch –status

C $ git branch –merged

D $ git status –merged

C
La commande $ git branch --merged est utilisée pour lister les branches qui ont été fusionnées dans la branche en cours de vérification.

 

 

Laisser un commentaire

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