extrai instantâneo do repositório git em um determinado momento

3

Eu clonei um repositório xorg git:

git clone git://anonscm.debian.org/pkg-xorg/driver/xserver-xorg-video-intel

e eu preciso extrair todos os arquivos como eles ficaram depois do commit 45c09bfe58c37bbf7965af25bdd4fa5c37c0908f

Eu sei como extrair um arquivo de uma versão especificada, por exemplo

git show 45c09bfe58c37bbf7965af25bdd4fa5c37c0908f:src/intel_driver.h > intel_driver.h

mas como posso extrair toda a estrutura (todos os arquivos)?

    
por Martin Vegter 12.04.2014 / 15:01

1 resposta

4

Para verificar um commit específico:

git checkout 45c09bfe58c37bbf7965af25bdd4fa5c37c0908f

Isso reportará um erro se for necessário sobrescrever os arquivos que não estão comprometidos. Para sobrescrever incondicionalmente o arquivo, passe a opção -f .

Para extrair um commit sem afetar a cópia de trabalho:

git archive 45c09bfe58c37bbf7965af25bdd4fa5c37c0908f | gzip >../45c09bfe58c37bbf7965af25bdd4fa5c37c0908f.tar.gz
git archive --prefix=45c09bfe58c37bbf7965af25bdd4fa5c37c0908f/ 45c09bfe58c37bbf7965af25bdd4fa5c37c0908f | tar xf - -C ..

git archive fornece um arquivo tar, que você pode extrair em outro lugar ou armazenar em um arquivo.

    
por 12.04.2014 / 19:57

Tags