Eu tenho lido sobre os repositórios bare e non-bare / default no Git. Não fui capaz de entender muito bem (teoricamente) sobre as diferenças entre elas e por que devo "empurrar" para um repositório vazio. Aqui está o acordo:
Atualmente, sou o único trabalhando em um projeto em 3 computadores diferentes, mas haverá mais pessoas envolvidas nele mais tarde, então estou usando o Git para o controle de versão. Clono o repositório simples em todos os computadores e, quando termino minhas modificações em um deles, confirmo e envio as alterações ao repositório simples. Pelo que li, o repositório vazio NÃO possui uma "árvore de trabalho", portanto, se eu clonar o repositório vazio, não terei uma "árvore de trabalho".
Suponho que a árvore de trabalho armazene as informações de confirmação, ramificações etc. do projeto. Isso não apareceria no repositório simples. Portanto, parece melhor para mim "enviar" os commits ao repositório com a árvore de trabalho.
Então, por que devo usar o repositório vazio e por que não? Qual a diferença prática? Isso não seria benéfico para mais pessoas trabalhando em um projeto, suponho.
Quais são seus métodos para esse tipo de trabalho? Sugestões?
git clone --bare
obterá um repositório simples e, se executar git clone
, obterá um repositório simples. Todo projeto público que você já clonou (hospedado no github, por exemplo) é um repositório simples do outro lado.
git clone
você pode converter livremente entre repositórios vazios e não vazios.