复制 Git 中的文件

snow git copy 命令将文件从存储库的给定状态(特定分支、标签或提交)复制到另一个暂存区或本地文件系统。

snow git copy <REPO_PATH> <DEST_PATH> [--parallel INT]
Copy

其中:

  • <REPO_PATH> 是一个具有特定范围的暂存区路径,其值是存储库的名称,后面跟着一个指定要复制的分支、标签或提交的后缀。下面列出了一些不同类型的值:

    • @snowcli_git/branches/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/
Copy

示例:将文件从某个目录内部复制到暂存区中的目录

以下示例在 plugin_tests 暂存区中创建了 test_stage 目录,并将 tests/plugin/ 目录的内容复制到该目录中。

snow git copy @my_snow_git/branches/main/tests/plugin/ @test_stage/plugin_tests/
Copy

示例:将整个目录复制到暂存区中的目录

此示例在 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
Copy

示例:将文件从暂存区中的目录复制到本地文件系统

以下示例在本地文件系统中创建了 plugin_tests 目录,并将 tests/plugin 目录的内容下载到该目录中。

snow git copy @snowcli_git/branches/main/tests/plugin plugin_tests/
Copy
语言: 中文