Vue d’ensemble des archives de code source
Vous pouvez télécharger un instantané de n’importe quelle branche, étiquette ou validation spécifique à partir de GitHub. Ces instantanés sont générés par la commande git archive
dans l’un des deux formats suivants : tarball ou zipball. Les instantanés ne contiennent pas l’historique complet du dépôt. Si vous souhaitez l’intégralité de l’historique, vous pouvez cloner le dépôt. Pour plus d’informations, consultez « Clonage d’un dépôt ».
Téléchargement des archives de code source
Vous pouvez télécharger les archives de code source de trois façons.
Téléchargement des archives de code source à partir de la vue du dépôt
-
Sur GitHub, accédez à la page principale du référentiel.
-
Au-dessus de la liste des fichiers, cliquez sur Code.
-
Cliquez sur Télécharger le fichier ZIP.
Téléchargement des archives de code source à partir d’une version
-
Sur GitHub, accédez à la page principale du référentiel.
-
À droite de la liste des fichiers, cliquez sur Mises en production.
-
Faites défiler jusqu’à la section « Ressources » de la version.
-
Pour télécharger le code source, cliquez sur Code source (zip) ou Code source (tar.gz) .
Téléchargement des archives de code source à partir d’une étiquette
-
Sur GitHub, accédez à la page principale du référentiel.
-
À droite de la liste des fichiers, cliquez sur Mises en production.
-
En haut de la page Mises en production, cliquez sur Étiquettes.
-
Pour télécharger le code source, cliquez sur zip ou tar.gz.
URL d’archive du code source
Les archives de code source sont disponibles dans des URL spécifiques pour chaque dépôt. Par exemple, considérez le dépôt github/codeql
. Il existe différentes URL pour le téléchargement d’une branche, d’une étiquette ou d’un ID de validation spécifique.
Type d’archive | Exemple | URL |
---|---|---|
Branche | main | https://github.com/github/codeql/archive/refs/heads/main.tar.gz |
Tag | codeql-cli/v2.12.0 | https://github.com/github/codeql/archive/refs/tags/codeql-cli/v2.12.0.zip |
Commit | aef66c4 | https://github.com/github/codeql/archive/aef66c462abe817e33aad91d97aa782a1e2ad2c7.zip |
Note
Vous pouvez utiliser .zip
ou .tar.gz
dans les URL ci-dessus pour demander un zipball ou un tarball, respectivement.
Stabilité des archives de code source
Les archives de code source sont générées à la demande, mises en cache pendant un certain temps, puis supprimées. Si la même archive est demandée à nouveau à l’avenir, elle est régénérée. Il est important de comprendre ce que GitHub garantit concernant les archives de code source.
- Une archive d’un ID de validation aura toujours le même contenu de fichier chaque fois qu’elle est demandée, en supposant que l’ID de validation se trouve toujours dans le dépôt et que le nom de ce dernier n’a pas changé.
- Étant donné que les branches et les étiquettes peuvent être déplacées vers des ID de validation différents, les futurs téléchargements d’une archive peuvent avoir un contenu différent de celui des archives précédemment téléchargées de la même branche ou étiquette. En supposant que la branche ou étiquette pointe toujours vers le même ID de validation, elle aura le même contenu de fichier.
- Les paramètres de compression exacts utilisés pour générer les zipballs ou tarballs peuvent changer au fil du temps. Le contenu extrait ne change pas si la branche ou l’étiquette ne change pas, mais l’archive compressée externe peut avoir une disposition d’octets différente. GitHub vous donnera un préavis d’au moins six mois avant de modifier les paramètres de compression.
- Le nom du dépôt fait partie de la structure de répertoires à l’intérieur de l’archive. Par conséquent, si le nom du dépôt change, le nom du répertoire racine change également.
Si vous vous fiez à la stabilité des archives de code source pour la reproductibilité (en vous assurant d’obtenir toujours des fichiers identiques dans l’archive), nous vous recommandons d’utiliser l’API REST d’archives avec un ID de validation pour :ref
. L’utilisation de l’ID de validation garantit que vous obtiendrez toujours le même contenu de fichier à l’intérieur de l’archive et que vous serez à l’abri des dépôts qui pourraient réécrire des étiquettes ou déplacer des têtes de branche.
Si vous vous fiez à la stabilité des archives à des fins de sécurité (par exemple, pour vous assurer que vous n’essayez pas de décompresser un fichier conçu de manière malveillante), nous vous recommandons d’utiliser des mises en production au lieu des téléchargements des sources. Pour plus d’informations, consultez « À propos des versions ».
Vous pouvez utiliser quelque chose comme cette action tierce de GitHub pour créer et envoyer (push) ces fichiers dans le cadre de votre processus de mise en production. L’API REST Ressources de mise en production peut être utilisée ultérieurement pour les récupérer.