Cópia de arquivos no Git¶
O comando snow git copy copia arquivos de um determinado estado do repositório (ramificação, tag ou commit específico) para outro estágio ou sistema de arquivo local.
snow git copy <REPO_PATH> <DEST_PATH> [--parallel INT]
onde:
<REPO_PATH>é um caminho de estágio com um escopo específico onde o valor é o nome do repositório seguido por um sufixo especificando qual ramificação, tag ou commit deve ser copiado. A seguir estão listados alguns tipos diferentes de valores:@snowcli_git/branches/main/refere-se ao último commit da ramificação “principal”@snowcli_git/tags/v2.1.0/refere-se a um commit com tagv2.1.0.@snowcli_git/commits/1e939d69ca6fd0f89074e7e97c9fd1/refere-se a um commit específico. Os hashes do commit devem ter entre 6 e 40 caracteres.
Um caminho de repositório também pode ser um subdiretório ou arquivo no repositório, mas ainda deve ser precedido por um prefixo de escopo.
<DEST_PATH>é um caminho para um diretório local ou para um diretório remoto no estágio Snowflake.--parallelespecifica o número de threads a serem usados ao baixar arquivos.
Quando <DEST_PATH> especifica um estágio, o comando opera de forma diferente com base em seu formato de sufixo, como segue:
Se a fonte terminar com um
/, como@my_snow_git/branches/main/tests/plugin/, o comando copia o conteúdo do diretóriopluginpara o destino.Se a fonte não terminar com um
/, como@my_snow_git/branches/main/tests/plugin, o comando copia todo o diretórioplugin.
Exemplo: copiar arquivos de um commit para um diretório em um estágio¶
Este exemplo cria um diretório snowcli2.0/ no estágio @public e copia todos os arquivos do commit marcados com a tag v2.0.0 para esse diretório:
snow git copy @my_snow_git/tags/v2.0.0/ @public/snowcli2.0/
Exemplo: copiar arquivos de dentro de um diretório para um diretório em um estágio¶
O exemplo a seguir cria um diretório plugin_tests em um estágio test_stage e copia o conteúdo do diretório tests/plugin/ nele.
snow git copy @my_snow_git/branches/main/tests/plugin/ @test_stage/plugin_tests/
Exemplo: copiar um diretório inteiro para um diretório em um estágio¶
Este exemplo cria um diretório plugin_tests no estágio estágio_de_teste e copia todo o diretório tests/plugin para ele. Como tests/plugin não termina com /, o comando copia todos os arquivos para @test_stage/plugin_tests/plugin.
snow git copy @snowcli_git/branches/main/tests/plugin @test_stage/plugin_tests
Exemplo: copiar arquivos de um diretório em um estágio para o sistema de arquivos local¶
O exemplo a seguir cria um diretório plugin_tests no sistema de arquivos local e baixa o conteúdo do diretório tests/plugin nele.
snow git copy @snowcli_git/branches/main/tests/plugin plugin_tests/