GitLab: Você não pode enviar commits para . Você só pode enviar commits que foram confirmados com um de seus próprios e-mails verificados

GitLab: Você não pode enviar commits para . Você só pode enviar commits que foram confirmados com um de seus próprios e-mails verificados

Estou tendo um problema estranho em que clonei um repositório com minhas credenciais ( [email protected]). Mas não consigo fazer push das alterações pois sempre recebo esta mensagem:

GitLab: You cannot push commits for '[email protected]' . You can only push commits that were committed with one of your own verified emails.

O problema é que quando verifico os usuários globais e do repositório, descubro que é [email protected]:

Global (abaixo confirma meu endereço correto):

git config  --global user.email
git config  --global user.name

Repositório (abaixo confirma meu endereço correto):

git config  user.email
git config   user.name

O que devo fazer e qual é a razão por trás deste mistério misterioso?

Responder1

Consegui corrigir o mesmo problema usando este comando git:

git commit --amend --reset-author --no-edit

Inicialmente tentei confirmar com o e-mail errado, mas mesmo depois de definir user.name e user.email git config --globalcomo o correto, continuei recebendo o mesmo erro "Você não pode enviar commits para ..." acima.

A solução foi redefinir o autor no git - então o push foi aceito no Gitlab.

Para referência:https://github.com/git-tips/tips#revert-undo-a-commit-by-creating-a-new-commit

Responder2

No meu caso, houve uma restrição de committer no projeto no GitLab. "Os usuários só podem enviar commits para este repositório que foram confirmados com um de seus próprios e-mails verificados." Como configurei o SSH também com minha máquina, meu e-mail de usuário foi atualizado no arquivo git global com o endereço da minha máquina, portanto o remoto não estava permitindo PUSH.

Você pode encontrar isso em- gitlab-> settings -> Repository -> Push Rules ; apenas desabilite esta restrição de commit e ela funcionará.

Responder3

git commit --amend --reset-author --no-editapenas altera o autor no último commit, se você tiver vários commits, ainda não poderá fazer push.

Verifique com git loge redefina cada commit com o autor impróprio e confirme novamente.

Responder4

Você pode desativar as restrições de envio para não precisar passar por todos os commits e alterar o e-mail.

insira a descrição da imagem aqui

informação relacionada