Kopieren von Dateien in Git¶
Der Befehl snow git copy
kopiert Dateien aus einem bestimmten Status des Repositorys (bestimmter Zweig, Tag oder Commit) in einen anderen Stagingbereich oder ein lokales Dateisystem.
snow git copy <REPO_PATH> <DEST_PATH> [--parallel INT]
Wobei:
<REPO_PATH>
ist ein Stagingbereichspfad mit einem bestimmten Geltungsbereich, wobei der Wert der Name des Repositorys ist, gefolgt von einem Suffix, das angibt, welcher Zweig, welches Tag oder welcher Commit kopiert werden soll. Im Folgenden sind einige verschiedene Typen von Werten aufgeführt:@snowcli_git/branches/main/
bezieht sich auf das letzten Commit des Zweiges „main“.@snowcli_git/tags/v2.1.0/
bezieht sich auf ein Commit mit dem Tagv2.1.0
.@snowcli_git/commits/1e939d69ca6fd0f89074e7e97c9fd1/
bezieht sich auf ein bestimmtes Commit. Commit-Hashes sollten zwischen 6 und 40 Zeichen lang sein.
Ein Repository-Pfad kann auch ein Unterverzeichnis oder eine Datei im Repository sein, muss aber dennoch mit einem Bereichs-Präfix versehen werden.
<DEST_PATH>
ist ein Pfad zu einem lokalen Verzeichnis oder zu einem externen Verzeichnis im Snowflake-Stagingbereich.--parallel
gibt die Anzahl der Threads an, die beim Herunterladen von Dateien verwendet werden sollen.
Wenn <DEST_PATH>
einen Stagingbereich angibt, funktioniert der Befehl je nach Format des Suffixes unterschiedlich:
Wenn die Quelle mit einem
/
endet, z. B.@my_snow_git/branches/main/tests/plugin/
, kopiert der Befehl den Inhalt desplugin
-Verzeichnisses in das Ziel.Wenn die Quelle nicht mit
/
endet, z B.@my_snow_git/branches/main/tests/plugin
, kopiert der Befehl das gesamteplugin
-Verzeichnis.
Beispiel: Kopieren von Dateien aus einem Commit in ein Verzeichnis in einem Stagingbereich¶
Dieses Beispiel erstellt ein Verzeichnis snowcli2.0/
im Stagingbereich @public
und kopiert alle Dateien des Commits, die mit dem Tag v2.0.0
markierten sind, in dieses Verzeichnis:
snow git copy @my_snow_git/tags/v2.0.0/ @public/snowcli2.0/
Beispiel: Kopieren von Dateien aus einem Verzeichnis in ein Verzeichnis in einem Stagingbereich¶
Das folgende Beispiel erstellt ein Verzeichnis plugin_tests
im Stagingbereich test_stage
und kopiert den Inhalt des Verzeichnisses tests/plugin/
dorthin.
snow git copy @my_snow_git/branches/main/tests/plugin/ @test_stage/plugin_tests/
Beispiel: Kopieren eines kompletten Verzeichnisses in ein Verzeichnis im Stagingbereich¶
In diesem Beispiel wird ein Verzeichnis plugin_tests
im Stagingbereich test_stage
erstellt und das gesamte Verzeichnis tests/plugin
dorthin kopiert. Da tests/plugin
nicht mit „/“ endet, kopiert der Befehl alle Dateien nach @test_stage/plugin_tests/plugin
.
snow git copy @snowcli_git/branches/main/tests/plugin @test_stage/plugin_tests
Beispiel: Kopieren von Dateien aus einem Verzeichnis in einem Stagingbereich in das lokale Dateisystem¶
Das folgende Beispiel erstellt ein Verzeichnis plugin_tests
im lokalen Dateisystem und lädt den Inhalt des Verzeichnisses tests/plugin
dorthin herunter.
snow git copy @snowcli_git/branches/main/tests/plugin plugin_tests/