doc-locale/fr-fr/user/project/merge_requests/changes.md
{{< details >}}
{{< /details >}}
Un merge request propose un ensemble de modifications de fichiers dans une branche de votre dépôt. GitLab affiche ces modifications sous la forme d'un diff (différence) entre l'état actuel et les modifications proposées. Par défaut, le diff compare vos modifications proposées (la branche source) avec la branche cible. Par défaut, GitLab n'affiche que les parties modifiées des fichiers.
Cet exemple montre les modifications apportées à un fichier texte. Dans le thème de coloration syntaxique par défaut :
-) avant la ligne.+) avant la ligne.L'en-tête de chaque fichier dans le diff contient :
+2 -2.Le diff inclut également des aides à la navigation et aux commentaires à gauche du fichier, dans la marge :
Utilisez le navigateur de fichiers pour afficher une liste des fichiers modifiés dans un merge request :
Pour afficher le diff des modifications incluses dans un merge request :
GitLab réduit les fichiers comportant de nombreuses modifications pour améliorer les performances, et affiche le message : Certaines modifications ne sont pas affichées. Pour afficher les modifications de ce fichier, sélectionnez Étendre le fichier.
{{< details >}}
{{< /details >}}
{{< history >}}
pinned_file. Désactivé par défaut.pinned_file supprimé.{{< /history >}}
Lorsque vous partagez un lien de merge request avec un membre de l'équipe, vous pouvez vouloir afficher un fichier spécifique en premier dans la liste des fichiers modifiés. Pour copier un lien de merge request qui affiche d'abord le fichier souhaité :
Dans la barre supérieure, sélectionnez Rechercher ou aller à et trouvez votre projet.
Dans la barre latérale gauche, sélectionnez Code > Requêtes de fusion et trouvez votre merge request.
Sous le titre du merge request, sélectionnez Modifications.
Trouvez le fichier que vous souhaitez afficher en premier. Faites un clic droit sur le nom du fichier pour copier le lien vers celui-ci.
Lorsque vous visitez ce lien, le fichier que vous avez choisi s'affiche en haut de la liste. Le navigateur de fichiers affiche une icône de lien ({{< icon name="link" >}}) à côté du nom du fichier :
{{< details >}}
{{< /details >}}
{{< history >}}
collapse_generated_diff_files. Désactivé par défaut.generated_file généralement disponible dans GitLab 16.11. Feature flag collapse_generated_diff_files supprimé.{{< /history >}}
Pour aider les relecteurs à se concentrer sur les fichiers nécessaires à la réalisation d'une revue de code, GitLab réduit plusieurs types courants de fichiers générés. GitLab réduit ces fichiers par défaut, car ils nécessitent rarement des revues de code :
.nib, .xcworkspacedata ou .xcurserstate.package-lock.json ou Gopkg.lock.node_modules.js ou css minifiés.Pour marquer un fichier ou un chemin comme généré, définissez l'attribut gitlab-generated dans votre fichier .gitattributes.
Pour modifier le comportement de réduction par défaut pour un type de fichier :
Si un fichier .gitattributes n'existe pas dans le répertoire racine de votre projet, créez un fichier vide avec ce nom.
Pour chaque type de fichier que vous souhaitez modifier, ajoutez une ligne au fichier .gitattributes en déclarant l'extension du fichier et le comportement souhaité :
# Collapse all files with a .txt extension
*.txt gitlab-generated
# Collapse all files within the docs directory
docs/** gitlab-generated
# Do not collapse package-lock.json
package-lock.json -gitlab-generated
Committez, pushez et fusionnez vos modifications dans votre branche par défaut.
Une fois les modifications fusionnées dans votre branche par défaut, tous les fichiers de ce type dans votre projet utilisent ce comportement dans les merge requests.
Pour des détails techniques sur la façon dont GitLab détecte les fichiers générés, consultez le dépôt go-enry.
Pour les merge requests plus importants, vous pouvez réviser un fichier à la fois. Vous pouvez modifier ce paramètre dans vos préférences utilisateur ou lors de la révision d'un merge request. Si vous modifiez ce paramètre dans un merge request, il met également à jour vos paramètres utilisateur.
{{< tabs >}}
{{< tab title="Dans un merge request" >}}
{{< /tab >}}
{{< tab title="Dans vos préférences utilisateur" >}}
{{< /tab >}}
{{< /tabs >}}
Pour sélectionner un autre fichier à afficher lorsque ce paramètre est activé :
Vous pouvez afficher les modifications dans un merge request :
Pour modifier la façon dont un merge request affiche les lignes modifiées :
Dans la barre supérieure, sélectionnez Rechercher ou aller à et trouvez votre projet.
Dans la barre latérale gauche, sélectionnez Code > Requêtes de fusion et trouvez votre merge request.
Sous le titre, sélectionnez Modifications.
Sélectionnez Préférences ({{< icon name="preferences" >}}). Sélectionnez Côte à côte ou En ligne. Cet exemple montre comment GitLab affiche la même modification en mode en ligne et en mode côte à côte :
{{< tabs >}}
{{< tab title="Modifications en ligne" >}}
{{< /tab >}}
{{< tab title="Modifications côte à côte" >}}
{{< /tab >}}
{{< /tabs >}}
{{< details >}}
{{< /details >}}
{{< history >}}
rapid_diffs_on_mr_show. Désactivé par défaut.{{< /history >}}
[!flag] La disponibilité de cette fonctionnalité est contrôlée par un feature flag. Pour plus d'informations, consultez l'historique.
Rapid Diffs est un moyen plus rapide de charger et d'interagir avec les modifications de code dans les merge requests. Cela réduit le temps avant que vous ne voyiez le premier fichier lors de la révision d'un diff.
Rapid Diffs est en version bêta. Certaines fonctionnalités de l'expérience diff classique ne sont pas disponibles. Pour la liste des limitations connues, consultez le ticket de retour d'expérience 596236. Pour la feuille de route de parité des fonctionnalités, consultez l'epic 19380.
Pour activer Rapid Diffs pour tous les merge requests :
La page se recharge avec la nouvelle expérience. Votre préférence persiste entre les sessions.
Pour partager des commentaires sur Rapid Diffs, sélectionnez Rapid Diffs > Laisser un avis.
Pour désactiver Rapid Diffs et revenir à l'expérience de chargement de diff classique :
{{< details >}}
{{< /details >}}
{{< collapsible title="Informations sur le modèle" >}}
{{< /collapsible >}}
{{< history >}}
{{< /history >}}
Si vous passez beaucoup de temps à essayer de comprendre du code créé par d'autres personnes, ou si vous avez du mal à comprendre du code écrit dans un langage que vous ne connaissez pas, vous pouvez demander à GitLab Duo de vous expliquer le code.
Prérequis :
Pour expliquer le code dans un merge request :
Dans la barre supérieure, sélectionnez Rechercher ou aller à et trouvez votre projet.
Dans la barre latérale gauche, sélectionnez Code > Requêtes de fusion, puis sélectionnez votre merge request.
Sélectionnez Modifications.
Sur le fichier que vous souhaitez faire expliquer, sélectionnez les trois points ({{< icon name="ellipsis_v" >}}) et sélectionnez View File @ $SHA.
Un onglet de navigateur séparé s'ouvre et affiche le fichier complet avec les dernières modifications.
Dans le nouvel onglet, sélectionnez les lignes que vous souhaitez faire expliquer.
Sur le côté gauche, sélectionnez le point d'interrogation ({{< icon name="question" >}}). Vous devrez peut-être faire défiler jusqu'à la première ligne de votre sélection pour le voir.
GitLab Duo Chat explique le code. La génération de l'explication peut prendre un moment.
Si vous le souhaitez, vous pouvez fournir des commentaires sur la qualité de l'explication.
GitLab ne peut pas garantir que le grand modèle de langage produit des résultats corrects. Utilisez l'explication avec prudence.
Vous pouvez également expliquer le code dans :
Lors de la révision des modifications de code, vous pouvez masquer les commentaires en ligne :
Pour développer les commentaires en ligne et les afficher à nouveau :
Les modifications d'espaces peuvent rendre plus difficile la visualisation des modifications substantielles dans un merge request. Vous pouvez choisir de masquer ou d'afficher les modifications d'espaces :
Dans la barre supérieure, sélectionnez Rechercher ou aller à et trouvez votre projet.
Dans la barre latérale gauche, sélectionnez Code > Requêtes de fusion et trouvez votre merge request.
Sous le titre, sélectionnez Modifications.
Avant la liste des fichiers modifiés, sélectionnez Préférences ({{< icon name="preferences" >}}).
Cochez ou décochez Afficher les modifications d'espaces :
Lors de la révision d'un merge request comportant de nombreux fichiers à plusieurs reprises, vous pouvez ignorer les fichiers que vous avez déjà révisés. Pour masquer les fichiers qui n'ont pas changé depuis votre dernière révision :
Les fichiers marqués comme consultés ne vous sont plus affichés à moins que :
Pour éviter d'afficher les modifications déjà présentes dans la branche cible, GitLab compare la branche source du merge request avec le HEAD de la branche cible.
Lorsque la branche source et la branche cible sont en conflit, GitLab affiche une alerte par fichier en conflit dans le diff du merge request :
{{< details >}}
{{< /details >}}
Vous pouvez afficher les résultats du scanner dans le diff. Pour plus de détails, consultez :
Vous pouvez télécharger les modifications incluses dans un merge request pour les utiliser en dehors de GitLab.
Pour télécharger les modifications sous forme de diff :
Si vous connaissez l'URL du merge request, vous pouvez également télécharger le diff depuis la ligne de commande en ajoutant .diff à l'URL. Cet exemple télécharge le diff pour le merge request 000000 :
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.diff
Pour télécharger et appliquer le diff en une seule commande CLI :
curl "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.diff" | git apply
Pour télécharger les modifications sous forme de fichier patch :
Si vous connaissez l'URL du merge request, vous pouvez également télécharger le patch depuis la ligne de commande en ajoutant .patch à l'URL. Cet exemple télécharge le fichier patch pour le merge request 000000 :
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.patch
Pour télécharger et appliquer le patch en utilisant git am :
# Download and preview the patch
curl "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.patch" > changes.patch
git apply --check changes.patch
# Apply the patch
git am changes.patch
Vous pouvez également télécharger et appliquer le patch en une seule commande :
curl "https://gitlab.com/gitlab-org/gitlab/-/merge_requests/000000.patch" | git am
La commande git am utilise l'option -p1 par défaut. Pour plus d'informations, consultez git-apply.
{{< history >}}
{{< /history >}}
Pour télécharger des versions de diff plus anciennes sous forme de fichier patch ou diff :
.diff ou .patch au chemin de l'URL.Par exemple :
# As a diff file:
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123456/diffs.diff?diff_id=525410&start_sha=a1b2c3d4
# As a patch file:
https://gitlab.com/gitlab-org/gitlab/-/merge_requests/123456/diffs.patch?diff_id=525410&start_sha=a1b2c3d4
{{< history >}}
comment_on_files. Activé par défaut.{{< /history >}}
Vous pouvez ajouter des commentaires à un fichier diff de merge request. Ces commentaires persistent après les rebases et les modifications de fichiers.
Pour ajouter un commentaire à un fichier de merge request :
Dans les merge requests et les vues de détail de commit, vous pouvez ajouter un commentaire à une image. Ce commentaire peut également être un fil de discussion.
GitLab affiche une icône et un champ de commentaire sur l'image.