openRepository
주어진 경로에서 기존 리포지토리를 열어요.
시그니처
ts
function openRepository(
path: string,
options?: RepositoryOpenOptions,
signal?: AbortSignal,
): Promise<Repository>;
파라미터
- path필수 · string
이미 존재하는 리포지토리가 위치한 디렉터리 경로예요.
- optionsnull | RepositoryOpenOptions
리포지토리를 오픈할 때 적용할 옵션들을 설정할 수 있어요.
- bareboolean
이 옵션이
true
로 설정되면, 리포지토리가 bare하지 않더라도 강제로 bare 형태로 열며, 워킹 디렉터리는 무시하고 리포지토리 구성을 성능 향상을 위해 지연해요. - ceilingDirsstring[]
부모 디렉터리 탐색 중에, 진입하기 전에 멈출 경로들의 목록을 지정해요.
- crossFsboolean
이 옵션이
true
로 설정되면, 상위 디렉터리 탐색 시 파일시스템 경계를 넘지 않도록 해요 (stat의 st_dev 값이 변경될 때 감지해요). - fromEnvboolean
이 옵션이
true
로 설정되면,open
은 다른 옵션과ceilingDirs
를 무시하고 git이 사용하는 환경 변수를 따르게 돼요. 다만,path
가$GIT_DIR
을 덮어써요. - noDotgitboolean
이 옵션이
true
로 설정되면,path
에/.git
을 덧붙이지 않아요. - noSearchboolean
이 옵션이
true
로 설정되면, 경로가 리포지토리를 직접 가리켜야 해요. 그렇지 않으면open
이 상위 디렉터리로 탐색해요.
- bareboolean
- signalnull | AbortSignal
작업을 취소할 수 있도록
AbortSignal
을 설정할 수 있어요.
반환 값
- Promise<Repository>
열린 리포지토리를 반환해요.
예제
기본 예시
ts
import { openRepository } from 'es-git';
const repo = await openRepository('/path/to/repo');
bare
리포지토리를 열어요.
ts
import { openRepository } from 'es-git';
const repo = await openRepository('/path/to/repo.git', {
bare: true,
});