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 디렉터리를 복사합니다.

예: 커밋에서 스테이지의 디렉터리로 파일 복사

이 예제에서는 스테이지 @publicsnowcli2.0/ 디렉터리를 만들고 v2.0.0 태그가 표시된 커밋의 모든 파일을 해당 디렉터리로 복사합니다.

snow git copy @my_snow_git/tags/v2.0.0/ @public/snowcli2.0/
Copy

예제: 디렉터리 내부의 파일을 스테이지의 디렉터리로 복사합니다.

다음 예제는 test_stage 스테이지에 plugin_tests 디렉터리를 만들고 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