Você sabe qual é a diferença entre 'git init' e 'git init --bare' ?
Diferença entre
git initegit init --bare
O comando git init --bare cria um repositório pushable, ou seja, geralmente os repositórios bare são criados no servidor e são considerados repositórios para armazenamento.
Por outro lado, os repositórios que vão nas máquinas dos desenvolvedores (repositórios non-bare) que seriam os de desenvolvimento, criados com o comando git init.
Apesar do Git ser um sistema de controle de versionamento distribuído, é muito comum que exista um repositório central que facilite a troca de informações entre os desenvolvedores, evitando a necessidade que os computadores dos desenvolvedores se comuniquem diretamente entre si, conforme a imagem a seguir:
Onde
barepode ser representado como um repositório no GitHub, já osnon-baresão os desenvolvedores que clonam esse repositório para a máquina local comgit clone.
Além disso, os repositórios bare não possuem working directory, uma vez que são responsável apenas em armazenar dados. Com isso, não é possível editar e fazer commits de arquivos por meio desse repositório.
Já os repositórios non-bare seguem o seguinte fluxo:
