Skip to content

clone

새로 생성된 서브모듈에 대해 클론 단계를 수행해요.

이 작업은 새로 생성된 서브모듈을 설정하기 위해 필요한 git clone을 수행해요.

시그니처

ts
class Submodule {
  clone(
    options?: SubmoduleUpdateOptions | null | undefined,
    signal?: AbortSignal | null | undefined,
  ): Promise<Repository>;
}

파라미터

  • optionsnull | SubmoduleUpdateOptions

    사용할 옵션

    • allowFetchboolean

      대상 커밋을 찾을 수 없을 때 서브모듈의 기본 리모트에서 fetch를 허용할지 여부. 기본값: true

    • checkoutCheckoutOptions

      이 옵션은 checkout 단계에 전달되는 옵션

      • allowConflictsboolean

        안전 모드에서 충돌이 있더라도 checkout을 취소하는 대신 안전한 파일 업데이트를 적용할지 여부. 기본값: false

      • ancestorLabelstring

        충돌의 공통 조상(ancestor) 측 이름

      • conflictStyleDiff3boolean

        충돌에 대해 diff3 형식 파일에 공통 조상 데이터를 포함할지 여부. 기본값: false

      • conflictStyleMergeboolean

        충돌에 대해 일반 merge 파일을 작성할지 여부. 기본값: false

      • dirPermnumber

        새 디렉터리를 생성할 때 사용할 모드. 기본값: 0755

      • disableFiltersboolean

        CRLF 변환 같은 필터를 적용할지 여부

      • disablePathspecMatchboolean

        path에 지정된 경로를 pathspec이 아니라 정확한 파일 경로로 취급할지 여부

      • dryRunboolean

        충돌 여부만 확인하고 실제 변경은 하지 않는 드라이 런으로 checkout을 수행할지 여부

      • filePermnumber

        새 파일을 생성할 때 사용할 모드. 기본값은 blob에 따라 0644 또는 0755

      • forceboolean

        수정된 파일을 폐기할 수 있는 경우를 포함해 작업 디렉터리가 대상과 일치하도록 필요한 모든 동작을 수행할지 여부

      • ourLabelstring

        충돌의 공통 ours 측 이름

      • overwriteIgnoredboolean

        checkout 중에 무시된 파일을 덮어쓸지 여부. 기본값: true

      • pathstring

        checkout할 경로 추가. disablePathspecMatch가 설정되지 않았다면 경로는 <a href="https://git-scm.com/docs/gitglossary.html#Documentation/gitglossary.txt-aiddefpathspecapathspec">pathspec</a> 패턴이에요. 경로를 지정하지 않으면 모든 파일을 checkout해요. 그렇지 않으면 지정된 경로만 checkout해요.

      • recreateMissingboolean

        안전 모드에서 존재하지 않는 파일을 생성할지 여부. 기본값: false

      • refreshboolean

        작업을 수행하기 전에 디스크에서 인덱스와 git 속성을 새로고침할지 여부. 기본값: true

      • removeIgnoredboolean

        작업 디렉터리에서 무시된 파일을 제거할지 여부. 기본값: false

      • removeUntrackedboolean

        작업 디렉터리에서 추적되지 않은 파일을 제거할지 여부. 기본값: false

      • safeboolean

        새 파일은 생성할 수 있지만 기존 파일이나 변경 사항은 덮어쓰지 않도록 안전하게 checkout을 수행할지 여부. 이 값이 기본이에요.

      • skipUnmergedboolean

        병합되지 않은 인덱스 엔트리가 있는 파일을 건너뛸지 여부. 기본값: false

      • targetDirstring

        checkout할 디렉터리

      • theirLabelstring

        충돌의 공통 theirs 측 이름

      • updateIndexboolean

        checkout이 업데이트된 파일 정보를 인덱스에 기록하지 못하게 할지 여부. 기본값: true

      • updateOnlyboolean

        이미 존재하는 파일의 내용만 업데이트할지 여부. 설정하면 파일을 생성하거나 삭제하지 않아요. 기본값: false

      • useOursboolean

        충돌 시 스테이지 2 버전("ours")을 사용해 checkout을 진행할지 여부. 기본값: false

      • useTheirsboolean

        충돌 시 스테이지 3 버전("theirs")을 사용해 checkout을 진행할지 여부. 기본값: false

    • fetchFetchOptions

      콜백을 포함해 fetch를 제어하는 옵션

      • credentialCredential

        libgit2에서 git 자격 증명을 나타내는 인터페이스

      • customHeadersstring[]

        이 fetch 작업에 추가 헤더 설정

      • depthnumber

        fetch 깊이 설정. 0 이하 값은 모든 항목을 가져오라는 의미로 해석돼요(사실상 깊이 제한을 선언하지 않은 것과 같아요).

      • downloadTagsAutotagOption

        리모트의 태그에 대해 어떻게 동작할지 설정해요(예: 다운로드 중인 개체에 대한 태그를 자동으로 다운로드하거나, 모두 다운로드). 기본값은 태그 자동 추적이에요.

        - Unspecified : 리모트 구성의 설정을 사용
        - Auto : 이미 다운로드 중인 개체를 가리키는 태그를 서버에 요청
        - None : refspec을 넘어서는 어떤 태그도 요청하지 않음
        - All : 모든 태그를 요청

      • followRedirectsRemoteRedirect

        리모트 리디렉션 설정(다른 호스트로의 리디렉션 허용 여부) 설정. 기본적으로 git은 초기 요청(/info/refs)에서는 리디렉션을 따르지만 이후 요청에서는 따르지 않아요.

        - None : fetch 또는 push의 어떤 단계에서도 오프사이트 리디렉션을 따르지 않음
        - Initial : 초기 요청에서만 오프사이트 리디렉션을 허용. 기본값
        - All : fetch 또는 push의 모든 단계에서 리디렉션을 허용

      • proxyProxyOptions

        fetch 작업에 사용할 프록시 옵션 설정

        • autoboolean

          git 구성에서 프록시를 자동 감지하려고 시도해요. 이전에 지정된 url을 덮어써요.

        • urlstring

          사용할 프록시의 정확한 URL 지정. 이전에 지정된 auto를 덮어써요.

      • pruneFetchPrune

        fetch 이후 prune 수행 여부 설정

        - Unspecified : 구성의 설정을 사용
        - On : prune을 강제로 켬
        - Off : prune을 강제로 끔

  • signalnull | AbortSignal

    작업을 취소하기 위한 선택적 AbortSignal

반환 값

  • Promise<Repository>

    새로 생성된 리포지토리 개체

MIT 라이선스에 따라 배포됩니다.