J'ai un problème lorsque je pousse mes codes vers git alors que j'ai un accès développeur dans mon projet, mais tout va bien quand j'ai un accès maître. D'où vient le problème? Et comment y remédier?
Message d'erreur:
erreur: vous n'êtes pas autorisé à envoyer du code aux branches protégées sur ce projet.
...
erreur: impossible de pousser certaines références vers ...
Réponses:
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 responsables / propriétaires peuvent s'engager dans des branches protégées (voir les documents d'autorisation ).
master
La branche est protégée par défaut - elle oblige les développeurs à émettre des demandes de fusion à valider par les responsables de projet avant de les intégrer dans le 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 à pénétrer dans les branches protégées. Lorsque ce paramètre est activé, la protection sera limitée au rejet d'opérations nécessitant
git push --force
activé (rebase, etc.)Depuis GitLab 9.3
Aller au projet: "Paramètres" → "Référentiel" → "Développer" sur "Branches protégées"
Je ne sais pas vraiment quand ce changement a été introduit, les captures d'écran sont de la version 10.3.
Vous pouvez maintenant sélectionner qui est autorisé à fusionner ou à pousser dans les branches sélectionnées (par exemple: vous pouvez désactiver les push
master
à tout, forçant toutes les modifications à la branche à effectuer via les demandes de fusion). Ou vous pouvez cliquer sur "Déprotéger" pour supprimer complètement la protection de la branche.Depuis GitLab 9.0
Similaire à GitLab 9.3, mais pas besoin de cliquer sur "Développer" - tout est déjà développé:
Allez dans le projet: "Paramètres" → "Référentiel" → faites défiler jusqu'à "Branches protégées".
Pre GitLab 9.0
Projet: "Paramètres" → "Branches protégées" (si vous êtes au moins "Maître" d'un projet donné).
Cliquez ensuite sur "Déprotéger" ou "Les développeurs peuvent pousser":
la source
pour GitLab Enterprise Edition 9.3.0
Par défaut, la branche principale est protégée donc sans protection :)
1-Sélectionnez votre "projet"
2-Sélectionnez "Référentiel"
3-Sélectionnez "succursales"
4-Sélectionnez "Paramètres du projet"
5-In "Branches protégées" cliquez pour "développer"
6-et après clic dans le bouton "déprotéger"
la source
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 le gitlab via mon navigateur. Ensuite, tout s'est arrangé de façon incroyable et le problème a été réglé !! Je mentionne que j'étais le maître et que la branche n'était pas protégée.
la source
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 pour que vous vous engagiez
la source
Solution simple pour ce problème d'avoir une discussion rapide avec une personne qui a un rôle de propriétaire dans gitlab. Il peut pousser un fichier READ.md ou similaire pour commencer. Plus tard, tout fonctionnera comme précédemment.
la source
J'étais sous Windows lorsque ce problème est apparu.
L'erreur est étrange car elle se produit avant que je puisse entrer mon nom d'utilisateur et mon mot de passe. Et s'il y avait un cache ou quelque chose comme ça? Je l'ai creusé en ligne et j'ai trouvé cette réponse sur le forum de support de gitlab :
Dans les informations d'identification Windows, j'ai trouvé deux entrées GitLab pour un ancien compte. J'enlève les deux et maintenant ça marche!
Le panel:
la source
Ceci est considéré comme des fonctionnalités de Gitlab.
Maintainer / Owner
l'accès n'est jamais en mesure de forcer à nouveau la poussée pour la branche par défaut et protégée, comme indiqué dans cette documentationla source
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.
J'ai non protégé mon projet, puis je me suis à nouveau protégé, et l'erreur a disparu.
Nous avions mis à jour la version de gitlab entre mon push précédent et celui problématique. Je suppose que cette mise à niveau a créé le bug.
la source
Les solutions ci-dessus expliquent clairement quel est le problème; lorsque vous n'avez pas de contrôle sur le référentiel, la meilleure façon 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 afin que plus tard vous puissiez le pousser vers celui d'origine.
la source