Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

Erro no push do passo 27 da Consolidando o Conhecimento

Logo após conseguir realizar o merge do segundo colaborador, ao tentar realizar o push para o servidor na ultima parte do passo 27 apareceu a seguinte mensagem de erro

bserv@DESKTOP-TVG44R6 MINGW64 /f/programação/alura/cursos/git-e-github/user2/projeto (master)
$ git push local master
Enumerating objects: 13, done.
Counting objects: 100% (13/13), done.
Delta compression using up to 4 threads
Compressing objects: 100% (9/9), done.
Writing objects: 100% (9/9), 977 bytes | 488.00 KiB/s, done.
Total 9 (delta 3), reused 0 (delta 0), pack-reused 0
remote: error: refusing to update checked out branch: refs/heads/master
remote: error: By default, updating the current branch in a non-bare repository
remote: is denied, because it will make the index and work tree inconsistent
remote: with what you pushed, and will require 'git reset --hard' to match
remote: the work tree to HEAD.
remote:
remote: You can set the 'receive.denyCurrentBranch' configuration variable
remote: to 'ignore' or 'warn' in the remote repository to allow pushing into
remote: its current branch; however, this is not recommended unless you
remote: arranged to update its work tree to match what you pushed in some
remote: other way.
remote:
remote: To squelch this message and still keep the default behaviour, set
remote: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
To F:/programação/alura/cursos/git-e-github/vinicius
 ! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to 'F:/programação/alura/cursos/git-e-github/vinicius'

Alguém sabe me informar o que aconteceu?

4 respostas
solução!

Olá, Bruno. Tudo bem?

Aparentemente, você está tentando fazer o push para um repositório que não é bare, e isso não é permitido.

By default, updating the current branch in a non-bare repository is denied

Pela mensagem de erro, você está tentando mandar para F:/programação/alura/cursos/git-e-github/vinicius, mas o correto seria mandar para o servidor, não?

Pode mandar aqui o resultado do comando git remote -v?

Fico aguardando.

Olá Vitor, obrigado pela resposta

bserv@DESKTOP-TVG44R6 MINGW64 /f/programação/alura/cursos/git-e-github/user2/projeto (master)
$ git remote -v
local   F:/programação/alura/cursos/git-e-github/vinicius (fetch)
local   F:/programação/alura/cursos/git-e-github/vinicius (push)
)

Esse foi o resultado do comando.

Decidi refazer os exercícios desde a primeira aula e consegui ver o erro, Vitor. Realmente entendi as instruções e clonei o repositório certo dessa vez.

O erro foi ao escolher o repositório errado para fazer o push.

Obrigado mais uma vez pela ajuda!!

Oi, Bruno. De nada, fico contente em ajudar :)

Esses comandos do git que mostram o estado e as configurações ajudam muito para solucionar os problemas. Mas que bom que deu tudo certo aí agora.

Bons estudos e, se precisar, estamos aqui!