Implante seu projeto com git em um repositório simples

Tenho visto muitas pessoas usando git para implantar seus sites em um repositório não vazio e usando

$ git config receive.denycurrentbranch ignore

isso funciona bem, desde que você realmente não faça nenhuma atualização no próprio repo remoto. É realmente recomendado não trabalhar dessa maneira pelo pro git a menos que você perceba o que está fazendo, já que não é realmente como o git está configurado para funcionar.

  • o método que eu uso

  • Eu gosto desse método porque ele usa um barerepositório com uma árvore de trabalho de check-out, de forma que não há pasta .git em sua árvore de trabalho.

  • Também é bom porque você pode fazer alterações na árvore de trabalho e também ter várias pessoas trabalhando no repo e o git funcionará normalmente.

  • Uma coisa a se notar é que se você quiser fazer alterações na árvore de trabalho do repositório remoto, você terá que

-fazer um arquivo na raiz de sua árvore de trabalho chamada .git
com o conteúdo.

gitdir: /path/to/your/repo.git

Que é bom porque você não tem de exportar GIT_DIRcada vez
Ou

$ export GIT_DIR=path/to/your/repo.git

então

$ export GIT_WORK_TREE=path/to/your/workingtree

Sempre que você quiser fazer alterações na árvore de trabalho porque um barerepositório tecnicamente não tem permissão para ter uma árvore de trabalho.

Se você usar a core.worktreeopção de definir a árvore de trabalho, ela irá falhar e o git irá dizer a você, core.baremas core.worktreenão fará sentido.

Por algum motivo, se você export GIT_WORK_TREE=path/to/your/repo.git
git não reclamar.

  • @eviweb também tem um ótimo protocolo sobre como configurar gitpara jogar bem se você quiser trabalhar em um repo. aqui está o protocolo de @eviweb Usando GIT para gerenciar um sitenon-bare

Aproveitar.