Exporter un projet Git

John Wachira 12 juillet 2022
Exporter un projet Git

Dans cet article, nous aborderons l’exportation d’un projet dans Git. Nous utilisons la commande git archive pour créer un fichier d’archive de nos dépôts Git.

Un tel fichier combinera plusieurs fichiers en un seul. Les fichiers d’archive facilitent le partage entre les développeurs ou le stockage à long terme.

la commande git archive

Qu’est ce que ça fait?

Nous utilisons la commande git archive pour générer des fichiers d’archive pour des références spécifiées telles que des commits, des branches et des arbres. La commande peut être utilisée avec d’autres arguments pour modifier la sortie, comme indiqué ci-dessous.

Exemples d’exportation Git

Commençons par une commande basique git archive.

$ git archive --format=tar HEAD

Si nous exécutons cette commande sur notre terminal, cela créera un fichier d’archive à partir du HEAD dans notre référentiel. L’archive ira dans notre flux temporaire stdout.

Nous pouvons spécifier un fichier permanent comme indiqué ci-dessous.

$ git archive --output=./sample_repo_archive.tar --format=tar HEAD

Lors de l’exécution de la commande ci-dessus, il créera un fichier d’archive pour notre référence HEAD et le stockera dans un fichier sample_repo_archive.tar. L’option --format=tar indique à Git de créer une sortie d’archive non compressée.

Nous pouvons passer d’autres formats populaires comme zip et tar.gz à notre option de format. Si nous n’incluons pas d’option de format, Git le fait pour l’option --output spécifiée.

$ git archive --output=./sample_repo_archive.tar.gz --format=tar HEAD ./Updates

Git permet également d’archiver des parties de notre référentiel. La commande ci-dessus créera un fichier d’archive pour les fichiers du répertoire /.Updates de notre référentiel.

Options d’utilisation des archives Git

Les exemples ci-dessus nous donnent une idée de base des options git archive les plus fréquemment utilisées. Explorons une autre option que nous pouvons passer à la commande pour modifier davantage le résultat.

--prefix=<prefix>/

Nous utilisons l’argument prefix pour attacher un chemin à tous les fichiers de notre archive pour une extraction plus facile sur toute la ligne.

--remote=<repo>

Il s’agit de la commande incontournable dans un scénario où nous souhaitons créer une archive de notre référentiel distant. Lors de l’exécution de la commande, nous devons inclure l’URL de notre référentiel distant.

La commande nous permet également de pointer vers ref dans notre référentiel distant.

Configuration de la commande

La commande git archive respecte les options de configuration suivantes.

$ git config --global tar.umask

Nous utilisons la configuration de démasquage pour spécifier la restriction de bits d’autorisation au niveau Unix sur notre fichier d’archive.

tar.<format>.command

Nous utilisons l’option ci-dessus pour créer une commande shell personnalisée qui exécutera notre sortie git archive. Cela revient à diriger le flux stdout vers un outil personnalisé et à omettre l’option --output.

Le concept de base de cette opération est la création d’un outil de post-traitement d’archive fixe et sur mesure.

tar.<format>.remote

Nous pouvons activer l’option ci-dessus pour permettre aux développeurs distants de récupérer des archives dans le format spécifié.

En un mot, nous utilisons la commande git archive pour générer des packages distribuables de nos référentiels Git. Nous pouvons cibler un arbre, une branche ou un commit spécifique à l’aide de cette commande.

Il dispose également de plusieurs formats de sortie pour une compression supplémentaire.

Auteur: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn