J'ai un problème lorsque je pousse mes codes vers git pendant que j'ai un accès développeur à mon projet, mais tout va bien quand j'ai un accès maître. D'où vient le problème? Et comment le réparer?
Message d'erreur:
erreur: vous n'êtes pas autorisé à envoyer du code aux branches protégées de ce projet.
...
erreur: échec de pousser certains refs à ...
il n'y a pas de problème - tout fonctionne comme prévu.
Dans GitLab, certaines branches peuvent être protégées. Par défaut, seuls les utilisateurs mainteneurs/propriétaires peuvent s’engager dans des branches protégées (voir permissions docs ). La branche master
est protégée par défaut. Elle oblige les développeurs à émettre des demandes de fusion qui doivent être validées par les responsables du projet avant de les intégrer au code principal.
Vous pouvez activer et désactiver la protection sur les branches sélectionnées dans les paramètres du projet (où cela dépend exactement de la version de GitLab - voir les instructions ci-dessous).
Sur la même page de paramètres, vous pouvez également autoriser les développeurs à accéder aux branches protégées. Lorsque ce paramètre est activé, la protection sera limitée au rejet des opérations nécessitant git Push --force
(rebase, etc.).
Aller au projet: "Paramètres" → "Référentiel" → "Développer" sur "Branches protégées"
Je ne sais pas vraiment quand cette modification a été introduite, les captures d'écran proviennent de la version 10.3.
Vous pouvez maintenant sélectionner qui est autorisé à fusionner ou Transférer dans les branches sélectionnées (par exemple: vous pouvez désactiver les transmissions à master
, ce qui oblige à effectuer toutes les modifications de branche via des demandes de fusion). Ou vous pouvez cliquer sur "Ôter la protection" pour supprimer complètement la protection de la branche.
De la même manière que GitLab 9.3, il n’est pas nécessaire de cliquer sur "Développer" - tout est déjà développé:
Aller au projet: "Paramètres" → "Référentiel" → allez jusqu'à "Branches protégées".
Projet: "Paramètres" → "Branches protégées" (si vous êtes au moins "maître" d'un projet donné).
Cliquez ensuite sur "Supprimer la protection" ou "Les développeurs peuvent envoyer":
pour GitLab Enterprise Edition 9.3.0
Par défaut, la branche principale est protégée.
1-Sélectionnez votre "projet"
2-Sélectionnez "Repository"
3-Sélectionnez "branches"
4-Sélectionnez "Paramètres du projet"
5-In "branches protégées" cliquez pour "développer"
6 et après, cliquez sur le bouton "Annuler la protection"
J'ai rencontré cette erreur sur "une branche vide" sur mon serveur gitlab local. Certaines personnes ont mentionné que "vous ne pouvez pas pousser pour la première fois sur une branche vide". J'ai essayé de créer un simple fichier README sur gitlab via mon navigateur. Ensuite, tout a été réglé de manière incroyable et le problème résolu! Je mentionne que j'étais le maître et que la branche n'était pas protégée.
Essayez d'apporter des modifications selon le lien
https://docs.gitlab.com/ee/user/project/protected_branches.html
rendre le projet non protégé pour le responsable ou le développeur que vous souhaitez valider
J'ai rencontré le même problème sur mon référentiel. Je suis le maître du référentiel, mais j'ai eu une telle erreur.
Mon projet n'a pas été protégé, puis re-protégé, et l'erreur a disparu.
Nous avions mis à niveau la version de gitlab entre mon précédent Push et celui problématique. Je suppose que cette mise à jour a créé le bogue.
Les solutions ci-dessus expliquent clairement quel est le problème; Lorsque vous n'avez pas le contrôle sur le référentiel, le meilleur moyen de soumettre votre code est de créer une fourchette du référentiel d'origine et de soumettre votre code à ce nouveau référentiel de sorte que vous puissiez le transmettre ultérieurement au référentiel d'origine.