Close

Git Archive: Como exportar um projeto git

Às vezes, pode ser útil criar um arquivo compactado do Repositório do Git. Um arquivo compactado combina vários arquivos em um único arquivo. Um arquivo compactado pode então ser extraído para reproduzir os arquivos individuais. O Git é poderoso para preservar o histórico e a colaboração em equipe; no entanto, os arquivos compactados removem a sobrecarga dos metadados do Git e podem ser mais simples de distribuir para outros usuários ou preservar em armazenamento frio de longo prazo.


O que o git archive faz?


O comando git archive é um utilitário de linha de comando do Git que vai criar arquivos a partir de Refs do Git especificadas, como confirmações, ramificações ou árvores. O git archive aceita argumentos adicionais que vai alterar a saída do arquivo.

Exemplos de exportação Git


Temos o exemplo mais básico do ~git archive~ a seguir

git archive --format=tar HEAD

Esse comando, quando executado, vai criar um arquivo a partir da referência HEAD atual do repositório. Por padrão, o git archive vai transmitir a saída do arquivo para o fluxo stdout efêmero. Você vai precisar capturar esse fluxo de saída em um arquivo permanente. Você pode especificar um arquivo permanente usando a opção de saída git archives ou usando o redirecionamento stdout do sistema operacional.

git archive --output=./example_repo_archive.tar --format=tar HEAD
Logotipo do Git
Material relacionado

Folha de consulta do Git

Logotipo do Bitbucket
VER SOLUÇÃO

Aprenda a usar o Git com o Bitbucket Cloud

O exemplo a seguir vai criar um novo arquivo e o vai armazenar no arquivo exmaple_repo_archive.tar. Os exemplos anteriores criaram uma saída de arquivo não compactada. Essa ação é indicada pela opção --format=tar. A opção de formato também aceita formatos de arquivos compactados populares zip e tar.gz. Passar uma dessas opções de formato vai produzir um arquivo compactado. Se um valor de formato não for passado, ele vai ser inferido a partir de qualquer opção --output passada.

git archive --output=./example_repo_archive.tar.gz --format=tar HEAD ./build

O arquivo parcial do repositório pode ser criado passando o argumento path. Este exemplo adiciona o argumento path ./build para o comando archive. Esse comando vai produzir um arquivo contendo somente arquivos armazenados no ./build diretório

Opções


Os exemplos anteriores demonstraram alguns dos casos de uso de git-archive usados com mais frequência. A seguir estão as opções estendidas que podem ser passadas para o git-archive.

--prefix=<prefix>/

As opções de prefixo precedem um caminho para cada arquivo em um arquivo. Essa ação pode ser útil para garantir que o conteúdo do arquivo seja extraído em um namespace exclusivo.

--remote=<repo>

A opção remota espera uma URL de repositório remoto. Quando invocado com a opção remote, o git-archive vai buscar o repositório remoto e vai criar um archive a partir da referência especificada, se estiver disponível no remoto.

Configuração


Existem alguns valores globais de configuração do Git que o ~git archive~ vai respeitar. Esses valores podem ser definidos usando o utilitário git config.

tar.umask

A opção de configuração de desmascaramento é usada para especificar a restrição de bits de permissão de nível Unix no arquivo de arquivamento de saída.

tar.<format>.command

Essa opção de configuração permite a especificação de um comando shell personalizado pelo qual a saída do git-archive vai ser executada. A ação é semelhante a omitir a opção --output e canalizar o fluxo stdout do ~git archive~ para uma ferramenta personalizada. Essa ação permite o pós-processamento de arquivamento personalizado fixo.

tar.<format>.remote

Se ativado, esse comando permite que os clientes remotos busquem archives do tipo format.

Resumo do arquivo Git

O arquivo Git é um utilitário útil para criar pacotes distribuíveis de repositórios git. O arquivo Git pode segmentar refs específicas de um repositório e apenas empacotar o conteúdo dessa referência. O arquivo Git tem vários formatos de saída que podem utilizar compactação adicional.


Compartilhar este artigo

Leitura recomendada

Marque esses recursos para aprender sobre os tipos de equipes de DevOps ou para obter atualizações contínuas sobre DevOps na Atlassian.

Pessoas colaborando usando uma parede cheia de ferramentas

Blog do Bitbucket

Ilustração do DevOps

Caminho de aprendizagem de DevOps

Demonstrações de funções no Demo Den com parceiros da Atlassian

Como o Bitbucket Cloud funciona com o Atlassian Open DevOps

Inscreva-se para receber a newsletter de DevOps

Thank you for signing up