Para criar repositório remoto GIT vá ao diretório alvo.
Inicie o controle do GIT sobre o conteúdo do diretório:
$ git init
Crie o arquivo .gitignore com os tipos ou diretórios que devem ser ignorados
Adicione cada arquivo e diretório a ser controlado com o comando:
$ git add <caminho_para_arquivo_ou_diretorio_alvo>
Repita a operação até incluir todos os arquivos desejados.
Efetue o commit inicial:
$ git commit -m 'Initial commit'
Converta o diretório trabalho em repositório:
$ git config --bool core.bare true
Exclua todos os arquivos, exceto a pasta .git neste diretório.
Desta forma, você será capaz de efetuar git push para este repositório remoto sem qualquer erro.
Caso efetue um git push para este 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'