Skip to content

TypeGit

Defined in: src/adapters/node/index.ts:61

Pre-configured Git client for Node.js

This is a convenience class that automatically configures Node.js adapters.

Example

import { TypeGit } from 'type-git/node';
// Recommended: Use create() for version check
const git = await TypeGit.create();
// Skip version check (not recommended)
const git = await TypeGit.create({ skipVersionCheck: true });
// Legacy: constructor (no version check, deprecated)
const git = new TypeGit();
const repo = await git.open('/path/to/repo');

Constructors

Constructor

new TypeGit(constructorOpts?): TypeGit

Defined in: src/adapters/node/index.ts:82

Parameters

constructorOpts?

TypeGitOptions

Returns

TypeGit

Accessors

config

Get Signature

get config(): GlobalConfigOperations

Defined in: src/adapters/node/index.ts:196

Global config operations

Operates on ~/.gitconfig (user-level configuration). For repository-level config, use repo.config instead.

Returns

GlobalConfigOperations


lfs

Get Signature

get lfs(): GlobalLfsOperations

Defined in: src/adapters/node/index.ts:218

Global LFS operations

Operates on ~/.gitconfig (user-level) or /etc/gitconfig (system-level). For repository-level LFS operations, use repo.lfs instead.

Example
// Install LFS globally
await git.lfs.install();
// Install system-wide
await git.lfs.install({ system: true });
// Get LFS version
const version = await git.lfs.version();
Returns

GlobalLfsOperations


lsRemote

Get Signature

get lsRemote(): (url, opts?) => Promise<LsRemoteResult>

Defined in: src/adapters/node/index.ts:172

List references in a remote repository

Returns

(url, opts?): Promise<LsRemoteResult>

Parameters
url

string

opts?

LsRemoteOpts & ExecOpts

Returns

Promise<LsRemoteResult>


open

Get Signature

get open(): (path, opts?) => Promise<WorktreeRepo>

Defined in: src/adapters/node/index.ts:105

Open an existing worktree repository

This is the most common use case. Throws GitError if the repository is bare.

Throws

GitError with kind ‘NotWorktreeRepo’ if the repository is bare

Returns

(path, opts?): Promise<WorktreeRepo>

Parameters
path

string

opts?

GitOpenOptions

Returns

Promise<WorktreeRepo>


openBare

Get Signature

get openBare(): (path, opts?) => Promise<BareRepo>

Defined in: src/adapters/node/index.ts:116

Open an existing bare repository

Throws GitError if the repository is not bare.

Throws

GitError with kind ‘NotBareRepo’ if the repository is not bare

Returns

(path, opts?): Promise<BareRepo>

Parameters
path

string

opts?

GitOpenOptions

Returns

Promise<BareRepo>


openRaw

Get Signature

get openRaw(): (path, opts?) => Promise<WorktreeRepo | BareRepo>

Defined in: src/adapters/node/index.ts:126

Open an existing repository without type guarantee

Returns either WorktreeRepo or BareRepo depending on the repository type. Use this when you don’t know the repository type at compile time.

Returns

(path, opts?): Promise<WorktreeRepo | BareRepo>

Parameters
path

string

opts?

GitOpenOptions

Returns

Promise<WorktreeRepo | BareRepo>


raw

Get Signature

get raw(): (argv, opts?) => Promise<RawResult>

Defined in: src/adapters/node/index.ts:186

Execute a raw git command (repository-agnostic)

Returns

(argv, opts?): Promise<RawResult>

Parameters
argv

string[]

opts?

ExecOpts

Returns

Promise<RawResult>


version

Get Signature

get version(): (opts?) => Promise<string>

Defined in: src/adapters/node/index.ts:179

Get git version

Returns

(opts?): Promise<string>

Parameters
opts?

ExecOpts

Returns

Promise<string>

Methods

clone()

Call Signature

clone(url, path, opts): Promise<BareRepo>

Defined in: src/adapters/node/index.ts:137

Clone a repository

The return type depends on the bare or mirror option:

  • { bare: true } or { mirror: true }BareRepo
  • Otherwise → WorktreeRepo
Parameters
url

string

path

string

opts

CloneOpts & object & ExecOpts

Returns

Promise<BareRepo>

Call Signature

clone(url, path, opts): Promise<BareRepo>

Defined in: src/adapters/node/index.ts:142

Clone a repository

The return type depends on the bare or mirror option:

  • { bare: true } or { mirror: true }BareRepo
  • Otherwise → WorktreeRepo
Parameters
url

string

path

string

opts

CloneOpts & object & ExecOpts

Returns

Promise<BareRepo>

Call Signature

clone(url, path, opts?): Promise<WorktreeRepo>

Defined in: src/adapters/node/index.ts:147

Clone a repository

The return type depends on the bare or mirror option:

  • { bare: true } or { mirror: true }BareRepo
  • Otherwise → WorktreeRepo
Parameters
url

string

path

string

opts?

CloneOpts & ExecOpts

Returns

Promise<WorktreeRepo>


init()

Call Signature

init(path, opts): Promise<BareRepo>

Defined in: src/adapters/node/index.ts:163

Initialize a new repository

The return type depends on the bare option:

  • { bare: true }BareRepo
  • Otherwise → WorktreeRepo
Parameters
path

string

opts

InitOpts & object & ExecOpts

Returns

Promise<BareRepo>

Call Signature

init(path, opts?): Promise<WorktreeRepo>

Defined in: src/adapters/node/index.ts:164

Initialize a new repository

The return type depends on the bare option:

  • { bare: true }BareRepo
  • Otherwise → WorktreeRepo
Parameters
path

string

opts?

InitOpts & ExecOpts

Returns

Promise<WorktreeRepo>


create()

static create(createOpts?): Promise<TypeGit>

Defined in: src/adapters/node/index.ts:71

Create a TypeGit instance with Git version check

Parameters

createOpts?

TypeGitOptions

Options including skipVersionCheck

Returns

Promise<TypeGit>

TypeGit instance

Throws

GitError with kind ‘UnsupportedGitVersion’ if Git version is below minimum