Tenho um problema quando pressiono meus códigos para git enquanto tenho acesso de desenvolvedor no meu projeto, mas tudo fica bem quando tenho acesso de mestre. De onde veio o problema? e como consertar isso?
Mensagem de erro:
erro: você não tem permissão para enviar código para ramificações protegidas neste projeto.
...
erro: falha ao enviar algumas referências para ...
Respostas:
não há problema - tudo funciona como esperado.
No GitLab, algumas ramificações podem ser protegidas. Por padrão, apenas os usuários Mantenedores / Proprietários podem confirmar com ramificações protegidas (consulte documentos de permissões ).
master
branch é protegido por padrão - força os desenvolvedores a emitir solicitações de mesclagem a serem validadas pelos mantenedores do projeto antes de integrá-las ao código principal.Você pode ativar e desativar a proteção em ramificações selecionadas nas Configurações do projeto (onde depende exatamente da versão do GitLab - veja as instruções abaixo).
Na mesma página de configurações, você também pode permitir que os desenvolvedores entrem nas ramificações protegidas. Com essa configuração ativada, a proteção será limitada a rejeitar operações que exijam
git push --force
(rebase, etc.)Desde o GitLab 9.3
Vá para o projeto: "Configurações" → "Repositório" → "Expandir" em "Ramos protegidos"
Não tenho muita certeza de quando essa alteração foi introduzida, as capturas de tela são da versão 10.3.
Agora você pode selecionar quem tem permissão para mesclar ou enviar para as ramificações selecionadas (por exemplo: você pode desativar os toques
master
, forçando todas as alterações na ramificação a serem feitas via Solicitações de mesclagem). Ou você pode clicar em "Desproteger" para remover completamente a proteção da ramificação.Desde o GitLab 9.0
Similar ao GitLab 9.3, mas não é necessário clicar em "Expandir" - tudo já está expandido:
Vá para o projeto: "Configurações" → "Repositório" → role para baixo até "Ramos protegidos".
Pré GitLab 9.0
Projeto: "Configurações" → "Ramificações protegidas" (se você é pelo menos 'Mestre' de um determinado projeto).
Em seguida, clique em "Desproteger" ou "Os desenvolvedores podem enviar":
fonte
para o GitLab Enterprise Edition 9.3.0
Por padrão, a ramificação principal é protegida para não proteger :)
1-Selecione seu "projeto"
2-Selecione "Repositório"
3-Selecione "ramificações"
4-Selecione "Configurações do projeto"
5-Em "Ramos protegidos", clique para "expandir"
6 e depois clique no botão "desproteger"
fonte
Eu encontrei esse erro em "uma ramificação vazia" no meu servidor gitlab local. Algumas pessoas mencionaram que "você não pode pressionar pela primeira vez em um galho vazio". Tentei criar um arquivo README simples no gitlab através do meu navegador. Então tudo foi corrigido de maneira surpreendente e o problema resolvido !! Mencionei que eu era o mestre e o ramo não estava protegido.
fonte
Tente fazer alterações conforme o link
https://docs.gitlab.com/ee/user/project/protected_branches.html
tornar o projeto desprotegido para mantenedor ou desenvolvedor para você comprometer
fonte
Solução simples para esse problema, para conversar rapidamente com a pessoa que possui função de proprietário no gitlab. Ele pode enviar um arquivo READ.md ou similar para começar. Mais tarde, tudo estará funcionando como antes.
fonte
Eu estava no Windows quando este problema apareceu.
O erro é estranho porque acontece antes que eu possa inserir meu nome de usuário e minha senha. E se houvesse um cache ou algo assim? Eu o busquei on-line e encontrei esta resposta no fórum de suporte do gitlab :
Nas credenciais do Windows, encontrei duas entradas do GitLab para uma conta antiga. Eu removo os dois e agora funciona!
O painel:
fonte
Isso é considerado um recurso no Gitlab.
Maintainer / Owner
o acesso nunca poderá forçar o envio novamente para a ramificação padrão e protegida, conforme declarado nesta documentaçãofonte
Eu experimentei o mesmo problema no meu repositório. Eu sou o mestre do repositório, mas tive um erro.
Eu desprotegi meu projeto e depois me protegi novamente, e o erro se foi.
Atualizamos a versão do gitlab entre o push anterior e o problemático. Suponho que esta atualização tenha criado o bug.
fonte
As soluções acima explicam claramente qual é o problema; quando você não tem controle sobre o repositório, a melhor maneira de enviar seu código é criar um Fork do repositório original e enviá-lo para esse novo repositório, para que você possa enviá-lo para o original.
fonte