Développement logiciel et gestion de projet

Avec Git, deux développeurs ont modifié la même ligne du même fichier sur des branches différentes, puis l'une des branches a été fusionnée dans l'autre. Que se passe-t-il ?

  1. ALa modification dont l'heure de commit est la plus récente est adoptée automatiquement, et la plus ancienne est abandonnée
  2. BLes modifications de la branche qui reçoit la fusion ont toujours la priorité, et celles de l'autre branche sont abandonnées automatiquement
  3. CLa fusion s'arrête sur un conflit, et un développeur examine le contenu et le résout en décidant quelle modification garder (ou comment combiner les deux)
Afficher la réponse et l'explication

Réponse : C. La fusion s'arrête sur un conflit, et un développeur examine le contenu et le résout en décidant quelle modification garder (ou comment combiner les deux)

Une fusion Git compare les modifications des deux branches depuis leur ancêtre commun et combine automatiquement les modifications situées à des endroits différents. Si le même endroit a été modifié des deux côtés, il est impossible de décider mécaniquement laquelle est correcte : la fusion s'arrête donc sur un conflit et les deux versions sont marquées dans le fichier. Le développeur modifie le fichier pour résoudre le conflit, teste, puis fait un commit. Fusionner souvent plutôt que de laisser les branches séparées longtemps est un moyen efficace de réduire les conflits.

S'entraîner sur ce thème Retour au thème

Autres questions sur Développement logiciel et gestion de projet

  1. Quelle méthode de revue des documents de conception ou du code source est dirigée par un modérateur, attribue des rôles aux participants, se déroule de façon formelle à l'aide de listes de contrôle, etc., et enregistre les défauts trouvés et vérifie leur correction ?
  2. Après une version de micrologiciel dont on sait qu'elle fonctionne correctement, il y a 1000 commits, et le dernier commit présente un bogue. Le bogue a été introduit par un commit et se produit dans tous les commits suivants. Quand on identifie le commit fautif par recherche dichotomique, comme avec git bisect, combien de fois au maximum faut-il compiler et tester le micrologiciel ?
  3. Dans une WBS, qui décompose hiérarchiquement les livrables et le travail d'un projet, comment s'appelle l'élément de plus bas niveau, utilisé comme unité pour estimer la durée et le coût et pour affecter les personnes ?
  4. Dans un diagramme fléché à nœuds ① à ⑥, les activités, notées « nom : nœud de début → nœud de fin, durée », sont A : ① → ②, 6 jours ; B : ① → ③, 4 jours ; C : ② → ④, 4 jours ; D : ③ → ⑤, 4 jours ; E : ④ → ⑥, 2 jours ; F : ⑤ → ⑥, 3 jours ; et une activité fictive : ② → ③ (durée 0). Quelle est la durée minimale du projet complet ?
  5. Un projet comporte les activités, durées et prédécesseurs suivants : A : 4 jours (sans prédécesseur) ; B : 2 jours (aucun) ; C : 3 jours (A) ; D : 2 jours (B) ; E : 5 jours (C) ; F : 4 jours (C et D) ; G : 2 jours (F). Si toutes les autres activités commencent au plus tôt, de combien de jours au maximum peut-on retarder le début de l'activité B sans allonger la durée totale du projet ?