É correto copiar (não clonar) um repositório git usando comandos básicos do Unix?

21

Sou muito novo no uso do git e queria saber se não há problema em copiar um repositório Git com comandos comuns do UNIX (como cp ou tar / untag ), em vez de git clone .

Estou na situação em que tenho um ambiente de produção (python virtual) que algum código registrou no git nele. Eu estou querendo saber se é uma má idéia do ponto de vista do git copiar todo o ambiente usando tar ou algo assim. Essa abordagem seria conveniente para fazer uma cópia rápida de uma base de código / ambiente.

A minha preocupação é que talvez o git clone associe algum ID único à cópia de trabalho que poderia causar conflitos se existirem duas cópias de trabalho onde uma delas foi copiada do sistema de arquivos da outra.

    
por Joe J 26.07.2011 / 19:54

3 respostas

20

Está perfeitamente bem.

git armazena todo o seu histórico, commits, etc. no site - essa é uma propriedade fundamental de um DCVS.

Tecnicamente falando, git pode operar muito bem com repositórios copiados rodando em todos os lugares, porque o ponto principal de um DCVS é que ele não precisa saber o que está acontecendo fora de um determinado repositório , e na verdade não faz, a menos que você diga .

O mesmo princípio se aplica aqui.

    
por 26.07.2011 / 20:05
2

Você deve ser capaz de copiar todo o diretório de trabalho para qualquer outro lugar no sistema e fazer com que ele continue a funcionar normalmente ao usar o Git, Hg ou SVN. Não posso comentar sobre outros SCMs.

    
por 26.07.2011 / 20:03
0

Este é um caso de uso mais incomum, mas ...

Eu vi o utilitário repo criar links simbólicos no diretório .git . Nesse caso, quando estiver fazendo uma cópia, convém cancelar a referência aos links simbólicos. Por exemplo:

cp -r -L <source-repo-dir> <destination-repo-dir>
    
por 12.11.2014 / 07:35

Tags