fetch
새 데이터를 다운로드하고 리모트 추적 브랜치를 업데이트해요.
이 메서드는 리모트에 연결하고 데이터를 다운로드한 후, 연결을 종료하고
리모트 추적 브랜치를 업데이트하는 편리한 기능을 제공해요.
시그니처
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
설정을 덮어써요.
- autoboolean
- pruneFetchPrune
fetch 이후 불필요한 브랜치를 정리(prune)할지 설정해요.
-
Unspecified
: 설정값을 따름
-On
: 정리를 강제 수행
-Off
: 정리를 강제 비활성화
- credentialCredential
- reflogMsgstring
reflog에 남길 메시지예요.
- fetchFetchOptions
- signalnull | AbortSignal
요청을 중단할 때 사용할
AbortSignal
객체예요.
예제
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([]);