Repositório bare.
authorThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Mon, 30 Jun 2014 11:36:02 +0000 (08:36 -0300)
committerThadeu Lima de Souza Cascardo <cascardo@cascardo.eti.br>
Mon, 30 Jun 2014 11:36:02 +0000 (08:36 -0300)
O que é um repositório bare, como criá-lo, e consequências de git push
em um repositório não bare.

Colaborando_com_Git.mdwn

index bcba446..ef5882b 100644 (file)
@@ -220,6 +220,27 @@ de comando. A opção current atualiza no remoto especificado ou ímplicito
 o branch com o mesmo nome que o branch local corrente. E a opção
 upstream atualiza o branch remoto rastreado pelo branch corrente.
 
+## Repositórios bare
+
+É importante mencionar que ao realizar push em um repositório com um
+diretório de trabalho, o diretório de trabalho e o índice não são
+atualizados, mesmo que o branch corrente seja o branch atualizado. Isto
+pode causar problemas, caso o diretório de trabalho seja atualizado.
+Portanto, o padrão em versões desde 1.7.0 é impedir que tal branch seja
+atualizado, a não ser que a opção de configuração
+receive.denyCurrentBranch utilize os valores warn, false ou ignore.
+
+Mas existe um tipo de repositório que não possui diretório de trabalho,
+e pode evitar problemas como esse. Este tipo de repositório é conhecido
+como repositório bare. Ele pode ser criado com a opção --bare de git
+init ou de git clone. Geralmente, por convenção, tais repositórios têm a
+URL terminada em .git.
+
+       $ git clone --bare project/ project.git/
+       Cloning into bare repository 'project.git'...
+       done.
+       $
+
 ## Publicando um repositório
 
 Vimos como trabalhar com um repositório remoto, obtendo seus commits