From ed9eb8087af1e1e53c99d7902188c6b438c1fe7b Mon Sep 17 00:00:00 2001 From: Thadeu Lima de Souza Cascardo Date: Mon, 30 Jun 2014 08:36:02 -0300 Subject: [PATCH] =?utf8?q?Reposit=C3=B3rio=20bare.?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/Colaborando_com_Git.mdwn b/Colaborando_com_Git.mdwn index bcba446..ef5882b 100644 --- a/Colaborando_com_Git.mdwn +++ b/Colaborando_com_Git.mdwn @@ -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 -- 2.20.1