Gitでファイルをコピーする¶
snow git copy
コマンドは、リポジトリの指定された状態(特定のブランチ、タグ、またはコミット)から別のステージまたはローカルファイルシステムにファイルをコピーします。
snow git copy <REPO_PATH> <DEST_PATH> [--parallel INT]
条件:
<REPO_PATH>
は特定のスコープを持つステージパスであり、値はリポジトリ名に続いて、コピーするブランチ、タグ、またはコミットを指定するサフィックスが続きます。次に、いくつかの異なるタイプの値を示します。@snowcli_git/branches/main/
は「main」ブランチの最後のコミットを指します@snowcli_git/tags/v2.1.0/
はv2.1.0
タグが付けられたコミットを指します。@snowcli_git/commits/1e939d69ca6fd0f89074e7e97c9fd1/
は特定のコミットを指します。コミットハッシュの長さは6文字から40文字にする必要があります。
リポジトリパスにはリポジトリ内のサブディレクトリやファイルを指定することもできますが、その前にスコーププレフィックスを付ける必要があります。
<DEST_PATH>
は、Snowflakeステージ上のローカルディレクトリまたはリモートディレクトリへのパスです。--parallel
は、ファイルのダウンロード時に使用するスレッド数を指定します。
<DEST_PATH>
がステージを指定する場合、コマンドは次のようにサフィックスの形式に基づいて異なる動作をします。
ソースが
@my_snow_git/branches/main/tests/plugin/
のように/
で終わっている場合、コマンドはplugin
ディレクトリの内容を宛先にコピーします。ソースが
@my_snow_git/branches/main/tests/plugin
のように/
で終わっていない場合、コマンドはplugin
ディレクトリ全体をコピーします。
例: コミットからステージ内のディレクトリにファイルをコピーする¶
この例では、ステージ @public
に snowcli2.0/
ディレクトリを作成し、タグ v2.0.0
でマークされたコミットからすべてのファイルをそのディレクトリにコピーします。
snow git copy @my_snow_git/tags/v2.0.0/ @public/snowcli2.0/
例: ディレクトリ内のファイルをステージ内のディレクトリにコピーする¶
次の例では、 test_stage
ステージに plugin_tests
ディレクトリを作成し、 tests/plugin/
ディレクトリの内容をそこにコピーします。
snow git copy @my_snow_git/branches/main/tests/plugin/ @test_stage/plugin_tests/
例: ディレクトリ全体をステージ内のディレクトリにコピーする¶
この例では、 test_stage
ステージに plugin_tests
ディレクトリを作成し、 tests/plugin
ディレクトリ全体をそこにコピーします。 tests/plugin
は「/」で終わっていないため、コマンドはすべてのファイルを @test_stage/plugin_tests/plugin
にコピーします。
snow git copy @snowcli_git/branches/main/tests/plugin @test_stage/plugin_tests
例: ステージ内のディレクトリからローカルファイルシステムにファイルをコピーする¶
次の例では、ローカルのファイルシステムに plugin_tests
ディレクトリを作成し、 tests/plugin
ディレクトリの内容をそこにダウンロードします。
snow git copy @snowcli_git/branches/main/tests/plugin plugin_tests/