Convertendo repositório de trabalho para apenas repositório no GIT

image_pdfimage_print

Um das formas de converter repositório remoto GIT em apenas um repositório, sem qualquer cópia de trabalho neste repositório, e o diretório conter apenas o repositório de dados de um projeto, execute o seguinte comando em seu diretório de repositório remoto:

$ git config --bool core.bare true

E após, exclua todos os arquivos, exceto a pasta .git neste diretório remoto. E desta forma, você será capaz de efetuar git push para este repositório remoto sem qualquer erro.

Caso efetue um git push para um diretório com uma cópia de trabalho corrente, obterá um erro semelhante ao abaixo:


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: error: is denied, because it will make the index and work tree inconsistent
remote: error: with what you pushed, and will require 'git reset --hard' to match
remote: error: the work tree to HEAD.
remote: error:
remote: error: You can set 'receive.denyCurrentBranch' configuration variable to
remote: error: 'ignore' or 'warn' in the remote repository to allow pushing into
remote: error: its current branch; however, this is not recommended unless you
remote: error: arranged to update its work tree to match what you pushed in some
remote: error: other way.
remote: error:
remote: error: To squelch this message and still keep the default behaviour, set
remote: error: 'receive.denyCurrentBranch' configuration variable to 'refuse'.
To ssh://localhost/home/git/search
! [remote rejected] master -> master (branch is currently checked out)
error: failed to push some refs to 'REPOSITORIO'

Gostou? Tire um minutinho e dê sua contribuição para Drall Dev Community no Patreon!