Skip to content

fetch

새 데이터를 다운로드하고 리모트 추적 브랜치를 업데이트해요.

이 메서드는 리모트에 연결하고 데이터를 다운로드한 후, 연결을 종료하고
리모트 추적 브랜치를 업데이트하는 편리한 기능을 제공해요.

시그니처

ts
class Remote {
  fetch(
    refspecs: string[],
    options?: FetchRemoteOptions,
    signal?: AbortSignal,
  ): Promise<void>;
}

파라미터

  • refspecs필수 · string[]

    리모트에서 가져올 레퍼런스 사양(refspecs)이에요.

  • optionsnull | FetchRemoteOptions

    리모트에서 데이터를 가져올 때 사용할 옵션이에요.

    • fetchFetchOptions

      다양한 fetch 작업을 위한 옵션이에요.

      • credentialCredential

        Git 인증 정보를 나타내는 인터페이스예요.

      • customHeadersstring[]

        이 fetch 작업에 추가할 HTTP 헤더 목록이에요.

      • depthnumber

        가져올 커밋의 깊이를 설정해요. 0 이하의 값이면 모든 커밋을 가져와요(제한 없음).

      • downloadTagsAutotagOption

        태그 다운로드 방식을 설정해요.

        - Unspecified : 리모트 설정을 따름
        - Auto : 다운로드하는 개체에 연결된 태그만 가져옴 (기본값)
        - None : refspec에서 지정된 태그 외에는 가져오지 않음
        - All : 모든 태그를 가져옴

      • followRedirectsRemoteRedirect

        리모트 리디렉션(다른 URL로 이동) 허용 여부를 설정해요.

        - None : 어떤 경우에도 리디렉션을 따르지 않음
        - Initial : 초기 요청(/info/refs)에서만 리디렉션 허용 (기본값)
        - All : 모든 요청에서 리디렉션 허용

      • proxyProxyOptions

        fetch 작업에서 사용할 프록시 설정이에요.

        • autoboolean

          Git 설정에서 자동으로 프록시를 감지할지 여부를 설정해요. 이 옵션을 사용하면 url 설정을 덮어써요.

        • urlstring

          사용할 프록시의 URL을 명시적으로 지정해요. 이 옵션을 사용하면 auto 설정을 덮어써요.

      • pruneFetchPrune

        fetch 이후 불필요한 브랜치를 정리(prune)할지 설정해요.

        - Unspecified : 설정값을 따름
        - On : 정리를 강제 수행
        - Off : 정리를 강제 비활성화

    • reflogMsgstring

      reflog에 남길 메시지예요.

  • signalnull | AbortSignal

    요청을 중단할 때 사용할 AbortSignal 객체예요.

예제

ts
import { openRepository } from 'es-git';

const repo = await openRepository('/path/to/repo');
const remote = repo.getRemote('origin');

// "main" 브랜치 데이터를 가져와요.
await remote.fetch(['main']);

// 빈 배열을 전달하면, 리모트에 설정된 기본 refspec을 사용해 데이터를 가져와요.
await remote.fetch([]);

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