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

Erro no push local master

Boa noite! Não estou conseguindo resolver... Já refiz, junto com o professor, e tenho mesmo erro!

Selma@Jetro MINGW32 ~/OneDrive/Documentos/GIT (master) $ git push local master Enumerating objects: 9, done. Counting objects: 100% (9/9), done. Delta compression using up to 2 threads Compressing objects: 100% (6/6), done. Writing objects: 100% (9/9), 943 bytes | 117.00 KiB/s, done. Total 9 (delta 1), 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 C:/Users/Selma/OneDrive/Documentos/servidor/

*** ! [remote rejected] master -> master (branch is currently checked out)

error: failed to push some refs to 'C:/Users/Selma/OneDrive/Documentos/servidor/'*

2 respostas

Boa noite!!! Graças a Deus, consegui resolver o problema!!! Vamos em frente!!!

solução!

Oi, Selma, tudo bem?

Fico feliz que tenha conseguido resolver o problema!

O erro ao realizar um pushno repositório compartilhado, ocorreu devido a inicialização do repositório sem o uso do sinalizador --bare.

O --bare cria um repositório que não possui um diretório de trabalho, ou seja, um repositório simples sem a pasta .git, impossibilitando a edição de arquivos e o commit de alterações. Neste tipo de repositório, é possível realizar push e pull de arquivos e pastas, sendo assim, temos um servidor local onde os arquivos são armazenados e compartilhados, semelhante ao repositório remoto do GitHub.

Suponhamos que vamos criar um repositório local na pasta "servidor" cujo caminho é C:/Users/Rodrigo/Desktop/pasta/servidor/ para isso precisaremos:

  • Na pasta onde queremos inicializar um repositório compartilhado, utilizamos o comando: git init --bare.

  • Ao criar o repositório aparecerá a frase: "Initialized empty Git repository in C:/Users/Rodrigo/Desktop/pasta/servidor/", indicando o caminho do repositório. Devemos copiar o nome da pasta através da tecla direita do mouse selecionando a opção "copy".

  • Em seguida usaremos o comando git remote add <nome do repositório remoto> <caminho do repositório remoto> utilizando o caminho que acabamos de copiar. No caso do exemplo que estamos utilizando ficaria assim:

    git remote add local C:/Users/Rodrigo/Desktop/Curso/servidor/
  • Por fim poderemos realizar os comandos pushe pullpara manter este repositório sempre atualizado.

Espero ter ajudado a compreender melhor o problema. Caso surjam outras dúvidas, estarei à disposição!

Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!