outils de développement
git
Parlons de la façon de créer une branche protégée et de soumettre un PR dans Gitlab
Parlons de la façon de créer une branche protégée et de soumettre un PR dans Gitlab
Cet article porte sur l'apprentissage de Gitlab, explique comment créer une branche protégée et soumettre un PR à votre leader. J'espère que cela sera utile à tout le monde !

Comment créer une branche protégée
A quoi sert une branche protégée ?
Comme nous l'avons introduit plus tôt dans le workflow git flow, la branche master|main (branche principale) est la branche en ligne si chaque développeur peut pousser du code dans la branche principale à volonté, si elle est en ligne. Parfois, si un développeur pousse accidentellement du code dont il n'a pas besoin pour se connecter (qui peut contenir de nombreux bugs) vers la branche principale, et l'apporte avec lui lors de sa mise en ligne, les dommages causés peuvent être irréparables. Nous devons donc configurer la branche principale pour qu'elle n'autorise pas le push, et nous ne pouvons fusionner notre code dans la branche principale que via PR. master|main(主分支)分支是上线分支,如果每个开发人员都能随意的在主分支push代码,假如上线的时候,哪个开发不小心把自己不需要上线的代码(有可能有很多bug)push到了主分支,上线的时候一起带上去了,那么造成的损失有可能无法挽回。所以我们需要设置主分支不允许push,只能通过PR的方式把自己的代码合并到主分支。
下面我们来操作一下。在项目中找settings->Repository->Protected branches,选择受保护的分支,这里我们的主分支是main,然后选择merge权限为Maintainers,不允许任何人push代码到主分支。最后点击profect
下面我们来push一下代码试试
可以很明显的看到,已经不让任何人推送代码了。要推送代码,只能另外新建分支去推送到远程,然后把代码合并到主分支。
如何提交Merge request
为什么会有Merge reqeust呢?
前面提到,main分支是我们的保护分支,已经不需要本地push代码,那么我们的代码如何合并到主分支呢?这时候就需要开发人员发起一个Merge reqeust来把我们的代码合并到main分支了。Merge request还有一个用途非常重要,那就是code review。
何为code review呢?
code review翻译过来就是代码审查。一个公司,一个团队,对代码是有规范的,对代码是有要求的,对质量是有要求的,你写的代码是要经过你的leader审查的,才能合并到主分支,所以这一步操作在你主管合并之前,会吧你写的代码肉眼过一遍,确保不会出现重大线上问题才会给你合并,如果有问题,会让你重新改代码重新提交Merge requst,直到符合上线要求。这样做的目的呢,也是为了保证上线不出问题,毕竟出了重大的线上bug,你的leader是要承担责任和风险的,问题严重的部门领导也跟着倒霉。所以,我们写代码的同时也要非常的严谨。
讲了这么多,下面我们实际操作一下。
在本地新建一个dev分支,然后修改一些东西push到远程,首次推送需要使用git push -u origin dev,因为远程没有这个分支。
刷新页面可以看到,我们现在在main分支,上面显示一个Create merge request按钮,这里就是我们发起merge请求的地方,点击一下

进入到merge页面,这里我们可以看到我们现在是想把dev分支merge到main分支,如果想合并其他的分支,点击change branches即可修改。title和description可以填写你提交merge相关的功能描述。

Assignee和Reviewer为受让人和审查人员,直白一点就是想的代码谁给你审查,你就选择谁。

这里可以看到你本次合并提交的commit信息和修改内容


最后,点击Create merge request,即可发起一个merge请求,剩下的事情就是你的leader审查代码了。
你的leader看到的merge信息是这样子的,这里他可以看到你的commits和changes,从而看到你的代码的修改内容。如何没有问题,点击Merge
paramètres->Dépôt->Branches protégées dans le projet et sélectionnez la branche protégée Ici, notre branche principale est principale. l'autorisation de fusion en tant que responsables pour ne permettre à personne de transmettre du code à la branche principale. Enfin, cliquez sur profect🎜🎜
Poussons le code et essayons-le🎜🎜
Vous pouvez clairement voir que personne n'est autorisé à pousser le code. Pour pousser du code, vous pouvez uniquement créer une nouvelle branche à pousser vers la télécommande, puis fusionner le code dans la branche principale. 🎜🎜Comment soumettre une demande de fusion🎜🎜🎜Pourquoi y a-t-il une demande de fusion ? 🎜🎜Comme mentionné précédemment, la branche principale est notre branche protégée et il n'y a pas besoin de code push local. Alors, comment fusionner notre code dans la branche principale ? À ce stade, le développeur doit lancer une Merge request pour fusionner notre code dans la branche principale. La demande de fusion a un autre objectif très important, qui est la révision du code. 🎜🎜🎜Qu'est-ce que la 🎜révision du code🎜 ? 🎜🎜🎜code review se traduit par révision de code. Une entreprise, une équipe, a des normes de code, des exigences de code et des exigences de qualité. Le code que vous écrivez doit être examiné par votre responsable avant de pouvoir être fusionné dans la branche principale, cette étape est donc effectuée avant que vous ne soyez en charge. de fusion, je passerai en revue le code que vous avez écrit à l'œil nu pour m'assurer qu'il n'y aura pas de problèmes majeurs en ligne avant de le fusionner pour vous. S'il y a des problèmes, il vous sera demandé de modifier le code et de soumettre à nouveau Fusionner. requst jusqu'à ce que les exigences en ligne soient remplies. Le but est de garantir qu'il n'y a pas de problèmes en ligne. Après tout, si un bug en ligne majeur survient, votre chef devra en assumer la responsabilité et les risques, et les chefs de service ayant de graves problèmes seront également en difficulté. Il faut donc être très rigoureux lors de l’écriture du code. 🎜🎜 Cela dit, mettons-le en pratique. 🎜🎜Créez une nouvelle branche dev localement, puis modifiez certaines choses push sur la télécommande. Vous devez utiliser git push -u origin dev. pour la première poussée, car La télécommande n'a pas cette branche. 🎜🎜Actualisez la page et vous verrez que nous sommes maintenant dans la branche principale, avec un bouton Créer une demande de fusion affiché dessus. C'est ici que nous lançons la demande de fusion🎜🎜<. img src="https:/%20/img.php.cn/upload/article/000/000/024/ab1c9858c06edaee725766875e54be46-2.png" alt="" chargement="lazy">🎜🎜Entrez dans la page de fusion, ici nous pouvons voir ce que nous voulons maintenant Fusionner la branche dev avec la branche main Si vous souhaitez fusionner d'autres branches, cliquez sur changer de branches pour la modifier. . title et description peuvent remplir la description fonctionnelle liée à la fusion que vous avez soumise. 🎜🎜
🎜🎜Cessionnaire et Reviewer sont des destinataires et des réviseurs. Pour parler franchement, vous choisissez celui qui révise le code que vous souhaitez. 🎜🎜
🎜🎜Vous pouvez le voir ici Les informations de commit et les modifications que vous avez soumises pour cette fusion🎜🎜
🎜🎜
🎜 🎜Enfin, cliquez sur Créer une demande de fusion pour lancer une demande de fusion. Le reste appartient à votre responsable pour examiner le code. 🎜🎜Les informations de fusion que votre leader voit sont comme ceci. Ici, il peut voir vos commits et modifications, et ainsi voir les modifications apportées à votre code. S'il n'y a pas de problème, cliquez sur le bouton Fusionner pour fusionner. 🎜



Ce qui précède est un processus de réalisation Merge reqeust et son importance.
Le processus de fusion peut également impliquer certains travaux CI/CD, tels que la vérification des spécifications du code, les tests unitaires de code, etc., qui seront abordés un par un plus tard.
(Partage de vidéos d'apprentissage : Vidéo de programmation de base)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Outils d'IA chauds
Undress AI Tool
Images de déshabillage gratuites
Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes
AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.
Clothoff.io
Dissolvant de vêtements AI
Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !
Article chaud
Outils chauds
Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit
SublimeText3 version chinoise
Version chinoise, très simple à utiliser
Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP
Dreamweaver CS6
Outils de développement Web visuel
SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)
Sujets chauds
Comment vérifier les chaînes IMEISV en PHP?
May 28, 2025 pm 03:39 PM
La vérification d'une chaîne IMEISV dans PHP nécessite les étapes suivantes: 1. Vérifiez le format numérique 16 bits en utilisant des expressions régulières. 2. Vérifiez la validité de la partie IMEI à travers l'algorithme Luhn. 3. Vérifiez la validité du numéro de version logicielle. Le processus de vérification complet comprend la vérification du format, la vérification de Luhn et la vérification du numéro de version logicielle pour garantir la validité de l'IMEISV.
Comment installer la bibliothèque Numpy dans Python trois façons d'installer la bibliothèque Numpy dans Python
May 28, 2025 pm 04:03 PM
Il existe trois façons d'installer la bibliothèque Numpy: 1. Utilisez PIP pour installer: PiPinstallNumpy, qui est simple mais peut rencontrer des autorisations ou des problèmes de réseau; 2. Utilisez Conda pour installer: CondainstallNumpy, qui convient à l'environnement Anaconda, et résout automatiquement les dépendances; 3. Installer: Gitclone à partir du code source et de la compilation, ce qui convient aux besoins spéciaux mais aux processus compliqués.
Réglage des performances du déploiement de Jenkins sur Debian
May 28, 2025 pm 04:51 PM
Le déploiement et le réglage de Jenkins sur Debian est un processus impliquant plusieurs étapes, notamment l'installation, la configuration, la gestion du plug-in et l'optimisation des performances. Voici un guide détaillé pour vous aider à réaliser un déploiement efficace de Jenkins. Installation de Jenkins en premier, assurez-vous que votre système a un environnement Java installé. Jenkins nécessite un environnement d'exécution Java (JRE) pour fonctionner correctement. SudoaptupDaSudoaptininstallOpenjdk-11-JDK vérifie que l'installation de Java est réussie: Java-Version Suivant, Ajouter J
Créer et gérer plusieurs espaces de travail du projet dans VSCODE
May 29, 2025 pm 10:09 PM
Créer et gérer plusieurs espaces de travail du projet dans VSCODE via les étapes suivantes: 1. Cliquez sur le bouton "Gérer" dans le coin inférieur gauche, sélectionnez "nouvel espace de travail" et décidez de l'emplacement de sauvegarde. 2. Donnez à l'espace de travail un nom significatif, tel que "webdev" ou "backend". 3. Communiquez le projet dans Explorer. 4. Utilisez le fichier .codeworkspace pour configurer plusieurs projets et paramètres. 5. Faites attention au contrôle des versions et à la gestion des dépendances pour vous assurer que chaque projet dispose de fichiers .gitignore et package.json. 6. Nettoyez régulièrement les fichiers inutiles et envisagez d'utiliser des compétences de développement à distance
Résoudre les paramètres de mise en page et les problèmes d'affichage de VScode dans un environnement multi-écrans
May 29, 2025 pm 10:12 PM
L'utilisation de VScode dans un environnement multi-écrans peut résoudre les problèmes de mise en page et d'afficher les problèmes en ajustant la taille et la position de la fenêtre, la définition des espaces de travail, l'ajustement de l'échelle de l'interface, les fenêtres des outils de pose rationnellement, la mise à jour des logiciels et les extensions, l'optimisation des performances et l'enregistrement de la configuration de mise en page, améliorant ainsi l'efficacité de développement.
Comment créer le développement du package Laravel (package)?
May 29, 2025 pm 09:12 PM
Les étapes pour créer un package dans Laravel comprennent: 1) la compréhension des avantages des packages, tels que la modularité et la réutilisation; 2) suite à la dénomination de Laravel et aux spécifications structurelles; 3) Création d'un fournisseur de services à l'aide d'artisan Command; 4) Publier correctement les fichiers de configuration; 5) Gérer le contrôle des versions et la publication de Packagist; 6) effectuer des tests rigoureux; 7) Rédaction de documentation détaillée; 8) Assurer la compatibilité avec différentes versions Laravel.
Analyse des tendances de support de VScode et des problèmes connexes pour les langages de programmation émergents
May 29, 2025 pm 10:06 PM
La tendance de support de VScode pour les langages de programmation émergente est positive, principalement reflétée dans la mise en surbrillance de la syntaxe, l'achèvement du code intelligent, le support de débogage et l'intégration de contrôle de version. Malgré les problèmes de qualité et de performance de mise à l'échelle, ils peuvent être traités en choisissant une mise à l'échelle de haute qualité, en optimisant des configurations et en participant activement aux contributions communautaires.
Dépannage des problèmes de cohérence des données lorsque PHP exploite la base de données MySQL
May 28, 2025 pm 06:12 PM
Pour résoudre les problèmes de cohérence des données lorsque PHP exploite des bases de données MySQL, vous devez commencer par la gestion des transactions, la logique de code et la configuration de la base de données. 1. Utilisez StartRansaction et Commit / Rollback pour assurer l'intégrité des transactions. 2. Vérifiez la logique du code pour éviter les erreurs de variable. 3. Définissez le niveau d'isolement MySQL approprié tel que RepeatableRead. 4. Utilisez des outils ORM pour simplifier la gestion des transactions. 5. Vérifiez les problèmes d'emplacement du journal PHP et MySQL. 6. Utilisez le système de contrôle de version pour gérer les scripts de changement de base de données.


