Maison > Article > outils de développement > 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 !
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 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. 🎜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!