Como faço para fazer backup de um repositório do git?

24

Estou planejando mudar do SVN para o git. Com svn eu apenas copio minha pasta de repo quando eu quero fazer o backup. No entanto git não tem um então o que eu faço?

Devo criar um clone em uma unidade separada e atualizá-lo puxando do meu projeto? Então eu posso gravar / arquivar esta pasta e ela terá todo o histórico?

Isso é provavelmente óbvio, mas quero ter certeza de quando se trata de backups. Eu ainda finjo que existe um repositório raiz.

    
por Sathya 08.12.2010 / 11:59

4 respostas

12

Você acabou de copiar. O git faz usar uma pasta de repo, apenas oculta das visões normais de diretório. (A pasta chama-se .git em * nix systems, por isso só aparece se você usa ls -a . Eu suponho que ele define o atributo "oculto" no Windows, mas eu nunca usei git em um ambiente Windows, então Eu não tenho certeza sobre como isso é tratado.)

    
por 08.12.2010 / 12:11
16

A resposta do akira está correta, mas você pode adicionar o --mirror para criar um repositório vazio (para um backup um pouco menor).

Usamos a seguinte estratégia (quase exatamente):

git clone --mirror yourrepo backup.repo
tar cjf backup.repo.tar.bz2 backup.repo
scp backup.tar.bz2 ssh://somewhereelse

Depois, para recuperar seu backup:

tar xjf backup.repo.tar.bz2
git clone backup.repo yourrepo
    
por 16.12.2010 / 16:12
10

Estou usando o pacote do git . Para fazer um arquivo de cópia (um arquivo de backup) execute:

git bundle create backup.bundle master

Para restaurar o repositório com o mestre da filial, basta clonar o arquivo backup.bundle:

git clone backup.bundle -b master my-project
    
por 09.04.2012 / 12:39
2

crie um novo clone em outro lugar:

 % git clone yourepo somewhereelse

btw, git tem uma pasta de repo, você pode localizá-lo em sua cópia de trabalho abaixo do subdiretório .git . cada cópia de trabalho tem essa "pasta de repo".

    
por 08.12.2010 / 13:46

Tags