Comment effectuer des révisions de code avec les requêtes de fusion GitLab

  • Principal
  • Nouvelles
  • Comment effectuer des révisions de code avec les requêtes de fusion GitLab

Les demandes de fusion GitLab sont votre opportunité de revoir le code avant qu'il n'entre dans la branche principale de votre projet. Une requête de fusion (MR) est une enveloppe autour d'un fichier |__+_| opération accessible depuis l'interface utilisateur Web GitLab. Après avoir examiné le code, vous pouvez commencer à fusionner en un seul clic. L'adoption d'un flux de travail basé sur RM permet de garantir la qualité du code en créant l'attente que tous les commits soient soigneusement examinés.

Les demandes de fusion sont l'un des éléments essentiels de l'expérience GitLab. Ils combinent la gestion de projet, le référentiel et les systèmes CI/CD sur une seule page pour chaque modification de la base de code. Dans cet article, nous utilisons l'open source GitLab CE. Les niveaux d'affaires ont accès à des fonctionnalités supplémentaires.

Création d'une demande de fusion

Vous pouvez créer un nouveau MR à partir de GitLab en accédant à Repository > Branches dans la barre latérale. Assurez-vous d'avoir envoyé vos modifications à votre branche GitLab locale. Trouvez la branche que vous souhaitez fusionner et cliquez sur le bouton 'Demande de fusion' à droite de son nom.

Utilisez le formulaire pour définir les propriétés de votre demande de fusion. Commencez par nommer votre nouveau MR. Ajoutez ensuite une description. Les normes de description varient selon l'organisation et le projet. En général, nous vous recommandons de noter tous les changements importants que vous avez apportés, ainsi que le raisonnement qui les sous-tend.

Au bas de la page, vous trouverez des commandes pour définir les balises de destinataire, de réviseur, de jalon et de MR. Ceux-ci peuvent être modifiés à tout moment en utilisant la barre latérale droite sur la page des détails de la demande de fusion. Nous les aborderons plus en détail plus tard.

Vous pouvez effectuer un examen initial sans soumettre votre MR. Utilisez les onglets 'Confirmer' et 'Modifications' pour confirmer que vous avez saisi le bon code. Lorsque vous êtes prêt, appuyez sur le bouton vert 'Soumettre la demande de fusion' pour ouvrir MR. Vous pouvez voir tous les MR du projet en utilisant le lien 'Merge Requests' dans la barre latérale.

Créer des demandes de fusion depuis votre terminal

La création de MR via l'interface utilisateur GitLab vous encourage à baliser soigneusement le MR avec des balises, des jalons et un texte descriptif. Cependant, c'est un processus laborieux qui peut prendre beaucoup de temps tout au long de la journée. GitLab prend en charge les options push de Git qui vous permettent de pousser une branche et de créer un MR en même temps.

|__+_|

Utiliser |__+_| avec les options ci-dessus, vous pousserez votre branche actuelle vers votre télécommande Git. La branche distante sera recréée, avec le même nom que la branche locale, si elle n'existe pas déjà. Les deux |__+_| les options seront traitées par GitLab. Elles se traduiront par l'ouverture d'un nouveau MR pour fusionner leur branche |_+_|.

GitLab remplira automatiquement le titre et la description du MR en utilisant les informations de votre dernier commit. En outre, vous pouvez référencer un problème GitLab dans votre message de validation, par exemple. Par exemple |_+_| - que GitLab applique automatiquement vos balises et jalons au MR.

Examen des candidatures syndicales

Aucun code n'est complet tant qu'il n'a pas été examiné. Vous pouvez facilement demander aux autres membres de votre groupe de faire leur promesse une seule fois. Utilisez la barre latérale droite pour sélectionner un ou plusieurs réviseurs. Ils seront informés de votre demande.

Vous pouvez également attribuer votre MR à un autre utilisateur. Cela peut indiquer que vous devez mettre à jour vos domaines de responsabilité pour ajouter la prise en charge des modifications. Il n'y a pas de règles strictes sur la façon d'utiliser ces fonctionnalités.

Lorsque vous êtes chargé d'examiner un RM, passez aux onglets « Confirmation » et « Modifications » en haut de l'écran. Le premier fournit une liste de tous les nouveaux commits dans votre branche, tandis que le second présente les fichiers diff à appliquer à la base de code.

Vous pouvez ajuster la disposition de l'écran des modifications à l'aide du rouage des paramètres en haut à droite. Vous pouvez choisir entre des différences en ligne et côte à côte, ces dernières affichant à la fois les 'anciennes' et les 'nouvelles' versions des fichiers dans une vue fractionnée. Vous pouvez vous aider à vous concentrer et à améliorer les performances de l'écran en activant l'option 'Afficher un fichier à la fois'.

Apporter des modifications au code

Malgré tous vos efforts, vous passez parfois en revue votre IRM et découvrez un problème que vous avez manqué plus tôt. Cependant, il n'est pas nécessaire qu'il revienne directement à l'éditeur de code de sa part. L'écran Modifications contient des dispositions pour vous aider à corriger les erreurs au fur et à mesure que vous les trouvez.

Pour des corrections simples sur une ligne, survolez la ligne en question. Cliquez sur l'icône de commentaire qui apparaît à gauche de la ligne. L'éditeur de commentaires apparaîtra, avec l'éditeur Markdown standard de GitLab. Vous pouvez utiliser cette fonction pour commenter des lignes spécifiques dans votre MR ; vos messages apparaîtront à nouveau dans l'onglet 'Aperçu'. Cependant, nous recherchons une fonctionnalité spécifique, le bouton 'Insérer un indice' dans la barre d'outils.

Cliquez sur le bouton pour insérer la ligne sélectionnée dans le commentaire. Utilisez l'éditeur de commentaires pour modifier la ligne en conséquence Ils devraient Il paraît que. Cliquez ensuite sur 'Commencer une révision' ou 'Ajouter une révision maintenant'. Le premier vous permet de conserver plusieurs commentaires ensemble pour les soumettre en groupe une fois l'examen terminé.

Après avoir enregistré le commentaire, vous verrez un widget 'Modification suggérée' sous la ligne suspecte. Cela affichera la nouvelle différence à appliquer. Cliquez sur le bouton 'Appliquer la suggestion' pour ajouter la modification immédiatement.

L'utilisation d'astuces peut réduire considérablement le temps nécessaire pour résoudre des problèmes mineurs, car vous n'avez pas à quitter le navigateur. Pour des modifications plus longues, vous pouvez cliquer sur l'icône des trois points à côté de n'importe quel fichier sur l'écran Modifications pour l'ouvrir dans l'IDE Web complet de GitLab.

Fusionner les brouillons de demande (travail en cours)

Parfois, nous vous recommandons de soumettre le code avant qu'il ne soit prêt à être fusionné. Vous pouvez distinguer ces MR en préfixant le titre avec « Brouillon » ou en cliquant sur le bouton de la barre d'outils. Les brouillons MR ne peuvent pas être fusionnés tant que vous n'avez pas révoqué manuellement leur statut de brouillon en cliquant sur 'Marquer comme terminé' en haut à droite.

Cette fonctionnalité a été nommée « Work in Progress », en utilisant le préfixe de titre « WIP ». Cette terminologie a maintenant été abandonnée au profit de 'Draft', qui sera la seule variante prise en charge par GitLab 14. Les deux modules sont disponibles dans GitLab 13.

Au fur et à mesure que vous ajouterez des confirmations à vos MR, elles seront répertoriées dans la section Aperçu de la page MR. Vous pouvez cliquer sur le lien 'Comparer avec la version précédente' pour voir la différence entre ces changements isolément.

Si vous cliquez sur l'onglet 'Modifications' sans choisir de version, la différence de tous les MR pour la branche cible s'affiche. Vous pouvez voir la différence entre deux versions avec le menu déroulant 'Comparer [master] est [dernière version]' en haut de l'écran Modifications.

Terminer l'examen

Une fois l'examen terminé, il est temps de fusionner le code. Vous devrez révoquer le statut de brouillon du MR s'il a été défini. En fonction de la configuration de votre projet, vous devrez peut-être également 'résoudre' les fils de commentaires qui ont été créés.

Pour indiquer que le MR est prêt à fusionner, utilisez le bouton bleu 'Approuver'. Cela n'effectue aucune action dans GitLab autre que de notifier à votre équipe que le MR a été accepté. Vous pouvez ensuite fusionner le MR en appuyant sur le bouton vert 'Fusionner'.

Utilisez la case à cocher 'Supprimer la branche source' pour contrôler si la branche est supprimée après la fusion. Cela aide à garder la liste des branches courte, mais pourrait entraîner une perte de contexte à l'avenir. L'option 'Squash commit' vous permet de combiner tous les commits de MR en un seul. Cela crée un historique de validation plus clair, mais rendra plus difficile l'annulation de modifications individuelles à l'avenir. La disponibilité de ces options dépendra des paramètres définis au sein du projet et du groupe.

Les demandes de fusion fournissent un bon cadre pour l'écriture et la révision du code. En même temps, ils sont extrêmement flexibles et ouverts à l'interprétation. C'est à vous de décider dans quelle mesure vous développez le workflow de demande de fusion.

Dans cet article, nous n'abordons que les fonctionnalités directement pertinentes pour un réviseur de code. Vous pouvez voir beaucoup plus d'informations dans vos demandes de fusion si vous utilisez les autres fonctionnalités de GitLab. La page Vue d'ensemble peut afficher l'état du pipeline CI, les rapports de qualité de test et de code, la sortie de l'analyse de sécurité et les liens vers l'environnement de staging, faisant de la page MR la première destination pour comprendre l'impact d'un changement sur le projet.

Qu'est-ce que tu penses?