Skip to content

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이 상위 디렉터리로 탐색해요.

  • 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,
});

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