Copier des fichiers dans Git¶
La commande snow git copy
copie les fichiers d’un état donné du référentiel (branche spécifique, balise ou validation) dans une autre zone de préparation ou dans le système de fichiers local.
snow git copy <REPO_PATH> <DEST_PATH> [--parallel INT]
où :
<REPO_PATH>
est un chemin de zone de préparation avec un scope spécifique où la valeur est le nom du référentiel suivi d’un suffixe spécifiant la branche, la balise ou la validation à copier. Voici différents types de valeurs :@snowcli_git/branches/main/
fait référence à la dernière validation de la branche « principale »@snowcli_git/tags/v2.1.0/
fait référence à une validation libelléev2.1.0
.@snowcli_git/commits/1e939d69ca6fd0f89074e7e97c9fd1/
fait référence à une validation spécifique. Les hachages de validation comprennent entre 6 et 40 caractères.
Un chemin de référentiel peut également être un sous-répertoire ou un fichier du référentiel, mais il doit toujours être précédé d’un préfixe de scope.
<DEST_PATH>
est un chemin vers un répertoire local ou vers un répertoire distant sur la zone de préparation de Snowflake.--parallel
spécifie le nombre de threads à utiliser lors du téléchargement de fichiers.
Lorsque <DEST_PATH>
spécifie une zone de préparation, la commande fonctionne différemment en fonction du format de son suffixe, comme suit :
Si la source se termine par un
/
, tel que@my_snow_git/branches/main/tests/plugin/
, la commande copie le contenu du répertoireplugin
dans la destination.Si la source ne se termine pas par
/
, comme@my_snow_git/branches/main/tests/plugin
, la commande copie l’intégralité du répertoireplugin
.
Exemple : copier des fichiers d’une validation vers un répertoire dans une zone de préparation¶
Cet exemple crée un répertoire snowcli2.0/
sur la zone de préparation @public
et copie dans ce répertoire tous les fichiers de la validation marqués par la balise v2.0.0
:
snow git copy @my_snow_git/tags/v2.0.0/ @public/snowcli2.0/
Exemple : copier des fichiers de l’intérieur d’un répertoire vers un répertoire dans une zone de préparation¶
L’exemple suivant crée un répertoire plugin_tests
sur la zone de préparation test_stage
et y copie le contenu du répertoire tests/plugin/
.
snow git copy @my_snow_git/branches/main/tests/plugin/ @test_stage/plugin_tests/
Exemple : copier un répertoire entier dans un répertoire d’une zone de préparation¶
Cet exemple crée un répertoire plugin_tests
sur la zone de préparation test_stage
et y copie l’intégralité du répertoire tests/plugin
. Comme tests/plugin
ne se termine pas par un /, la commande copie tous les fichiers dans @test_stage/plugin_tests/plugin
.
snow git copy @snowcli_git/branches/main/tests/plugin @test_stage/plugin_tests
Exemple : copier des fichiers d’un répertoire dans une zone de préparation vers le système de fichiers local¶
L’exemple suivant crée un répertoire plugin_tests
dans le système de fichiers local et y télécharge le contenu du répertoire tests/plugin
.
snow git copy @snowcli_git/branches/main/tests/plugin plugin_tests/