simple-git

  • Version 3.25.0
  • Published
  • 955 kB
  • 3 dependencies
  • MIT license

Install

npm i simple-git
yarn add simple-git
pnpm add simple-git

Overview

Simple GIT interface for node.js

Index

Variables

Functions

Classes

Interfaces

Enums

Type Aliases

Variables

variable gitP

const gitP: SimpleGitFactory;

    variable simpleGit

    const simpleGit: SimpleGitFactory;

      Functions

      function grepQueryBuilder

      grepQueryBuilder: (...params: string[]) => GitGrepQuery;
      • Creates a new builder for a git.grep query with optional params

      function pathspec

      pathspec: (...paths: string[]) => string;

        Classes

        class GitConstructError

        class GitConstructError extends GitError {}
        • The GitConstructError is thrown when an error occurs in the constructor of the simple-git instance itself. Most commonly as a result of using a baseDir option that points to a folder that either does not exist, or cannot be read by the user the node script is running as.

          Check the .message property for more detail including the properties passed to the constructor.

        constructor

        constructor(config: SimpleGitOptions, message: string);

          property config

          readonly config: SimpleGitOptions;

            class GitError

            class GitError extends Error {}
            • The GitError is thrown when the underlying git process throws a fatal exception (eg an ENOENT exception when attempting to use a non-writable directory as the root for your repo), and acts as the base class for more specific errors thrown by the parsing of the git response or errors in the configuration of the task about to be run.

              When an exception is thrown, pending tasks in the same instance will not be executed. The recommended way to run a series of tasks that can independently fail without needing to prevent future tasks from running is to catch them individually:

              import { gitP, SimpleGit, GitError, PullResult } from 'simple-git';
              function catchTask (e: GitError) {
              return e.
              }
              const git = gitP(repoWorkingDir);
              const pulled: PullResult | GitError = await git.pull().catch(catchTask);
              const pushed: string | GitError = await git.pushTags().catch(catchTask);

            constructor

            constructor(task?: SimpleGitTask<any>, message?: string);

              property task

              task?: SimpleGitTask<any>;

                class GitPluginError

                class GitPluginError extends GitError {}

                  constructor

                  constructor(
                  task?: SimpleGitTask<any>,
                  plugin?: keyof SimpleGitOptions,
                  message?: string
                  );

                    property plugin

                    readonly plugin?: keyof SimpleGitOptions;

                      property task

                      task?: SimpleGitTask<any>;

                        class GitResponseError

                        class GitResponseError<T = any> extends GitError {}
                        • The GitResponseError is the wrapper for a parsed response that is treated as a fatal error, for example attempting a merge can leave the repo in a corrupted state when there are conflicts so the task will reject rather than resolve.

                          For example, catching the merge conflict exception:

                          import { gitP, SimpleGit, GitResponseError, MergeSummary } from 'simple-git';
                          const git = gitP(repoRoot);
                          const mergeOptions: string[] = ['--no-ff', 'other-branch'];
                          const mergeSummary: MergeSummary = await git.merge(mergeOptions)
                          .catch((e: GitResponseError<MergeSummary>) => e.git);
                          if (mergeSummary.failed) {
                          // deal with the error
                          }

                        constructor

                        constructor(git: {}, message?: string);

                          property git

                          readonly git: {};
                          • .git access the parsed response that is treated as being an error

                          class TaskConfigurationError

                          class TaskConfigurationError extends GitError {}
                          • The TaskConfigurationError is thrown when a command was incorrectly configured. An error of this kind means that no attempt was made to run your command through the underlying git binary.

                            Check the .message property for more detail on why your configuration resulted in an error.

                          constructor

                          constructor(message?: string);

                            Interfaces

                            interface BranchMultiDeleteResult

                            interface BranchMultiDeleteResult {}
                            • Represents the status of having deleted a batch of branches

                            property all

                            all: BranchSingleDeleteResult[];
                            • All branches included in the response

                            property branches

                            branches: { [branchName: string]: BranchSingleDeleteResult };
                            • Branches mapped by their branch name

                            property errors

                            errors: BranchSingleDeleteResult[];
                            • Array of responses that are in error

                            property success

                            readonly success: boolean;
                            • Flag showing whether all branches were deleted successfully

                            interface BranchSingleDeleteFailure

                            interface BranchSingleDeleteFailure {}
                            • Represents the failure to delete a single branch

                            property branch

                            branch: string;

                              property hash

                              hash: null;

                                property success

                                success: false;

                                  interface BranchSingleDeleteSuccess

                                  interface BranchSingleDeleteSuccess {}
                                  • Represents the successful deletion of a single branch

                                  property branch

                                  branch: string;

                                    property hash

                                    hash: string;

                                      property success

                                      success: true;

                                        interface BranchSummary

                                        interface BranchSummary {}

                                          property all

                                          all: string[];

                                            property branches

                                            branches: {
                                            [key: string]: BranchSummaryBranch;
                                            };

                                              property current

                                              current: string;

                                                property detached

                                                detached: boolean;

                                                  interface BranchSummaryBranch

                                                  interface BranchSummaryBranch {}

                                                    property commit

                                                    commit: string;

                                                      property current

                                                      current: boolean;

                                                        property label

                                                        label: string;

                                                          property linkedWorkTree

                                                          linkedWorkTree: boolean;

                                                            property name

                                                            name: string;

                                                              interface CleanSummary

                                                              interface CleanSummary {}

                                                                property dryRun

                                                                readonly dryRun: boolean;

                                                                  property files

                                                                  files: string[];

                                                                    property folders

                                                                    folders: string[];

                                                                      property paths

                                                                      paths: string[];

                                                                        interface CommitResult

                                                                        interface CommitResult {}

                                                                          property author

                                                                          author: null | {
                                                                          email: string;
                                                                          name: string;
                                                                          };

                                                                            property branch

                                                                            branch: string;

                                                                              property commit

                                                                              commit: string;

                                                                                property root

                                                                                root: boolean;

                                                                                  property summary

                                                                                  summary: {
                                                                                  changes: number;
                                                                                  insertions: number;
                                                                                  deletions: number;
                                                                                  };

                                                                                    interface ConfigGetResult

                                                                                    interface ConfigGetResult {}
                                                                                    • Represents the response to using git.getConfig

                                                                                    property key

                                                                                    key: string;
                                                                                    • The key that was searched for

                                                                                    property paths

                                                                                    paths: string[];
                                                                                    • The file paths from which configuration was read

                                                                                    property scopes

                                                                                    scopes: Map<string, string[]>;
                                                                                    • The full hierarchy of values the property can have had across the various scopes that were searched (keys in this Map are the strings also found in the paths array).

                                                                                    property value

                                                                                    value: string | null;
                                                                                    • The single value seen by git for this key (equivalent to git config --get key)

                                                                                    property values

                                                                                    values: string[];
                                                                                    • All possible values for this key no matter the scope (equivalent to git config --get-all key)

                                                                                    interface ConfigListSummary

                                                                                    interface ConfigListSummary {}
                                                                                    • Represents the current git configuration, as defined by the output from git log

                                                                                    property all

                                                                                    readonly all: ConfigValues;
                                                                                    • All configuration settings, where local/user settings override user/global settings the overridden value will appear in this object.

                                                                                    property files

                                                                                    files: string[];
                                                                                    • The file paths configuration was read from

                                                                                    property values

                                                                                    values: { [fileName: string]: ConfigValues };
                                                                                    • The ConfigValues for each of the files, use this object to determine local repo, user and global settings.

                                                                                    interface ConfigValues

                                                                                    interface ConfigValues {}
                                                                                    • Represents the map of configuration settings

                                                                                    index signature

                                                                                    [key: string]: string | string[];

                                                                                      interface CountObjectsResult

                                                                                      interface CountObjectsResult {}

                                                                                        property count

                                                                                        count: number;

                                                                                          property garbage

                                                                                          garbage: number;

                                                                                            property inPack

                                                                                            inPack: number;

                                                                                              property packs

                                                                                              packs: number;

                                                                                                property prunePackable

                                                                                                prunePackable: number;

                                                                                                  property size

                                                                                                  size: number;

                                                                                                    property sizeGarbage

                                                                                                    sizeGarbage: number;

                                                                                                      property sizePack

                                                                                                      sizePack: number;

                                                                                                        interface DefaultLogFields

                                                                                                        interface DefaultLogFields {}

                                                                                                          property author_email

                                                                                                          author_email: string;

                                                                                                            property author_name

                                                                                                            author_name: string;

                                                                                                              property body

                                                                                                              body: string;

                                                                                                                property date

                                                                                                                date: string;

                                                                                                                  property hash

                                                                                                                  hash: string;

                                                                                                                    property message

                                                                                                                    message: string;

                                                                                                                      property refs

                                                                                                                      refs: string;

                                                                                                                        interface DiffResult

                                                                                                                        interface DiffResult {}

                                                                                                                          property changed

                                                                                                                          changed: number;
                                                                                                                          • The total number of files changed as reported in the summary line

                                                                                                                          property deletions

                                                                                                                          deletions: number;
                                                                                                                          • The number of files changed with deletions

                                                                                                                          property files

                                                                                                                          files: Array<DiffResultTextFile | DiffResultBinaryFile>;
                                                                                                                          • When present in the diff, lists the details of each file changed

                                                                                                                          property insertions

                                                                                                                          insertions: number;
                                                                                                                          • The number of files changed with insertions

                                                                                                                          interface DiffResultBinaryFile

                                                                                                                          interface DiffResultBinaryFile {}

                                                                                                                            property after

                                                                                                                            after: number;

                                                                                                                              property before

                                                                                                                              before: number;

                                                                                                                                property binary

                                                                                                                                binary: true;

                                                                                                                                  property file

                                                                                                                                  file: string;

                                                                                                                                    property status

                                                                                                                                    status?: string;
                                                                                                                                    • --name-status argument needed

                                                                                                                                    interface DiffResultTextFile

                                                                                                                                    interface DiffResultTextFile {}

                                                                                                                                      property binary

                                                                                                                                      binary: false;

                                                                                                                                        property changes

                                                                                                                                        changes: number;

                                                                                                                                          property deletions

                                                                                                                                          deletions: number;

                                                                                                                                            property file

                                                                                                                                            file: string;

                                                                                                                                              property insertions

                                                                                                                                              insertions: number;

                                                                                                                                                property status

                                                                                                                                                status?: DiffNameStatus;
                                                                                                                                                • --name-status argument needed

                                                                                                                                                interface FetchResult

                                                                                                                                                interface FetchResult {}

                                                                                                                                                  property branches

                                                                                                                                                  branches: {
                                                                                                                                                  name: string;
                                                                                                                                                  tracking: string;
                                                                                                                                                  }[];

                                                                                                                                                    property deleted

                                                                                                                                                    deleted: {
                                                                                                                                                    tracking: string;
                                                                                                                                                    }[];

                                                                                                                                                      property raw

                                                                                                                                                      raw: string;

                                                                                                                                                        property remote

                                                                                                                                                        remote: string | null;

                                                                                                                                                          property tags

                                                                                                                                                          tags: {
                                                                                                                                                          name: string;
                                                                                                                                                          tracking: string;
                                                                                                                                                          }[];

                                                                                                                                                            property updated

                                                                                                                                                            updated: {
                                                                                                                                                            name: string;
                                                                                                                                                            tracking: string;
                                                                                                                                                            to: string;
                                                                                                                                                            from: string;
                                                                                                                                                            }[];

                                                                                                                                                              interface FileStatusResult

                                                                                                                                                              interface FileStatusResult {}

                                                                                                                                                                property from

                                                                                                                                                                from?: string;
                                                                                                                                                                • Original location of the file, when the file has been moved

                                                                                                                                                                property index

                                                                                                                                                                index: string;
                                                                                                                                                                • First digit of the status code of the file, e.g. 'M' = modified. Represents the status of the index if no merge conflicts, otherwise represents status of one side of the merge.

                                                                                                                                                                property path

                                                                                                                                                                path: string;
                                                                                                                                                                • Path of the file

                                                                                                                                                                property working_dir

                                                                                                                                                                working_dir: string;
                                                                                                                                                                • Second digit of the status code of the file. Represents status of the working directory if no merge conflicts, otherwise represents status of other side of a merge. See https://git-scm.com/docs/git-status#_short_format for full documentation of possible values and their meanings.

                                                                                                                                                                interface GitGrepQuery

                                                                                                                                                                interface GitGrepQuery extends Iterable<string> {}

                                                                                                                                                                  method and

                                                                                                                                                                  and: (...and: string[]) => this;
                                                                                                                                                                  • Adds one or more terms to be grouped as an "and" to any other terms

                                                                                                                                                                  method param

                                                                                                                                                                  param: (...param: string[]) => this;
                                                                                                                                                                  • Adds one or more search terms - git.grep will "or" this to other terms

                                                                                                                                                                  interface GrepResult

                                                                                                                                                                  interface GrepResult {}
                                                                                                                                                                  • Represents the response to git.grep

                                                                                                                                                                  property paths

                                                                                                                                                                  paths: Set<string>;

                                                                                                                                                                    property results

                                                                                                                                                                    results: Record<
                                                                                                                                                                    string,
                                                                                                                                                                    Array<{
                                                                                                                                                                    line: number;
                                                                                                                                                                    path: string;
                                                                                                                                                                    preview: string;
                                                                                                                                                                    }>
                                                                                                                                                                    >;

                                                                                                                                                                      interface InitResult

                                                                                                                                                                      interface InitResult {}
                                                                                                                                                                      • The InitResult is returned when (re)initialising a git repo.

                                                                                                                                                                      property bare

                                                                                                                                                                      readonly bare: boolean;
                                                                                                                                                                      • Boolean representing whether the --bare option was used

                                                                                                                                                                      property existing

                                                                                                                                                                      readonly existing: boolean;
                                                                                                                                                                      • Boolean representing whether the repo already existed (re-initialised rather than initialised)

                                                                                                                                                                      property gitDir

                                                                                                                                                                      readonly gitDir: string;
                                                                                                                                                                      • The git configuration directory - for a bare repo this is the same as path, in non-bare repos this will usually be a sub-directory with the name .git (or value of the $GIT_DIR environment variable).

                                                                                                                                                                      property path

                                                                                                                                                                      readonly path: string;
                                                                                                                                                                      • The path used when initialising

                                                                                                                                                                      interface ListLogLine

                                                                                                                                                                      interface ListLogLine {}
                                                                                                                                                                      • The ListLogLine represents a single entry in the git.log, the properties on the object are mixed in depending on the names used in the format (see DefaultLogFields), but some properties are dependent on the command used.

                                                                                                                                                                      property diff

                                                                                                                                                                      diff?: DiffResult;
                                                                                                                                                                      • When using a --stat=4096 or --shortstat options in the git.log or git.stashList, each entry in the ListLogSummary will also have a diff property representing as much detail as was given in the response.

                                                                                                                                                                      interface LogResult

                                                                                                                                                                      interface LogResult<T = DefaultLogFields> {}

                                                                                                                                                                        property all

                                                                                                                                                                        all: ReadonlyArray<T & ListLogLine>;

                                                                                                                                                                          property latest

                                                                                                                                                                          latest: (T & ListLogLine) | null;

                                                                                                                                                                            property total

                                                                                                                                                                            total: number;

                                                                                                                                                                              interface MergeConflict

                                                                                                                                                                              interface MergeConflict {}
                                                                                                                                                                              • Represents a single file with conflicts in the MergeSummary

                                                                                                                                                                              property file

                                                                                                                                                                              file: string | null;
                                                                                                                                                                              • Path to file

                                                                                                                                                                              property meta

                                                                                                                                                                              meta?: MergeConflictDeletion;
                                                                                                                                                                              • Additional detail for the specific type of conflict

                                                                                                                                                                              property reason

                                                                                                                                                                              reason: string;
                                                                                                                                                                              • Type of conflict

                                                                                                                                                                              interface MergeConflictDeletion

                                                                                                                                                                              interface MergeConflictDeletion {}
                                                                                                                                                                              • Where the file was deleted, if there is a modify/delete conflict

                                                                                                                                                                              property deleteRef

                                                                                                                                                                              deleteRef: string;

                                                                                                                                                                                interface MergeDetail

                                                                                                                                                                                interface MergeDetail {}

                                                                                                                                                                                  property conflicts

                                                                                                                                                                                  conflicts: MergeConflict[];

                                                                                                                                                                                    property failed

                                                                                                                                                                                    readonly failed: boolean;

                                                                                                                                                                                      property merges

                                                                                                                                                                                      merges: string[];

                                                                                                                                                                                        property result

                                                                                                                                                                                        result: MergeResultStatus;

                                                                                                                                                                                          interface MoveResult

                                                                                                                                                                                          interface MoveResult {}
                                                                                                                                                                                          • A parsed response summary for calls to git mv

                                                                                                                                                                                          property moves

                                                                                                                                                                                          moves: Array<{ from: string; to: string }>;
                                                                                                                                                                                          • Array of files moved

                                                                                                                                                                                          interface PullDetail

                                                                                                                                                                                          interface PullDetail {}

                                                                                                                                                                                            property created

                                                                                                                                                                                            created: string[];
                                                                                                                                                                                            • Array of file names that have been created

                                                                                                                                                                                            property deleted

                                                                                                                                                                                            deleted: string[];
                                                                                                                                                                                            • Array of file names that have been deleted

                                                                                                                                                                                            property deletions

                                                                                                                                                                                            deletions: PullDetailFileChanges;
                                                                                                                                                                                            • Map of file names to the number of deletions in that file

                                                                                                                                                                                            property files

                                                                                                                                                                                            files: string[];
                                                                                                                                                                                            • Array of all files that are referenced in the pull

                                                                                                                                                                                            property insertions

                                                                                                                                                                                            insertions: PullDetailFileChanges;
                                                                                                                                                                                            • Map of file names to the number of insertions in that file

                                                                                                                                                                                            property summary

                                                                                                                                                                                            summary: PullDetailSummary;

                                                                                                                                                                                              interface PullDetailFileChanges

                                                                                                                                                                                              interface PullDetailFileChanges {}

                                                                                                                                                                                                index signature

                                                                                                                                                                                                [fileName: string]: number;

                                                                                                                                                                                                  interface PullDetailSummary

                                                                                                                                                                                                  interface PullDetailSummary {}

                                                                                                                                                                                                    property changes

                                                                                                                                                                                                    changes: number;

                                                                                                                                                                                                      property deletions

                                                                                                                                                                                                      deletions: number;

                                                                                                                                                                                                        property insertions

                                                                                                                                                                                                        insertions: number;

                                                                                                                                                                                                          interface PullFailedResult

                                                                                                                                                                                                          interface PullFailedResult {}
                                                                                                                                                                                                          • Wrapped with the GitResponseError as the exception thrown from a git.pull task to provide additional detail as to what failed.

                                                                                                                                                                                                          property branch

                                                                                                                                                                                                          branch: {
                                                                                                                                                                                                          local: string;
                                                                                                                                                                                                          remote: string;
                                                                                                                                                                                                          };

                                                                                                                                                                                                            property hash

                                                                                                                                                                                                            hash: {
                                                                                                                                                                                                            local: string;
                                                                                                                                                                                                            remote: string;
                                                                                                                                                                                                            };

                                                                                                                                                                                                              property message

                                                                                                                                                                                                              message: string;

                                                                                                                                                                                                                property remote

                                                                                                                                                                                                                remote: string;

                                                                                                                                                                                                                  interface PullResult

                                                                                                                                                                                                                  interface PullResult extends PullDetail, RemoteMessageResult {}

                                                                                                                                                                                                                    interface PushDetail

                                                                                                                                                                                                                    interface PushDetail {}

                                                                                                                                                                                                                      property branch

                                                                                                                                                                                                                      branch?: {
                                                                                                                                                                                                                      local: string;
                                                                                                                                                                                                                      remote: string;
                                                                                                                                                                                                                      remoteName: string;
                                                                                                                                                                                                                      };

                                                                                                                                                                                                                        property pushed

                                                                                                                                                                                                                        pushed: PushResultPushedItem[];

                                                                                                                                                                                                                          property ref

                                                                                                                                                                                                                          ref?: {
                                                                                                                                                                                                                          local: string;
                                                                                                                                                                                                                          };

                                                                                                                                                                                                                            property repo

                                                                                                                                                                                                                            repo?: string;

                                                                                                                                                                                                                              property update

                                                                                                                                                                                                                              update?: PushResultBranchUpdate;

                                                                                                                                                                                                                                interface PushResult

                                                                                                                                                                                                                                interface PushResult
                                                                                                                                                                                                                                extends PushDetail,
                                                                                                                                                                                                                                RemoteMessageResult<PushResultRemoteMessages> {}

                                                                                                                                                                                                                                  interface PushResultBranchUpdate

                                                                                                                                                                                                                                  interface PushResultBranchUpdate {}

                                                                                                                                                                                                                                    property hash

                                                                                                                                                                                                                                    hash: {
                                                                                                                                                                                                                                    from: string;
                                                                                                                                                                                                                                    to: string;
                                                                                                                                                                                                                                    };

                                                                                                                                                                                                                                      property head

                                                                                                                                                                                                                                      head: {
                                                                                                                                                                                                                                      local: string;
                                                                                                                                                                                                                                      remote: string;
                                                                                                                                                                                                                                      };

                                                                                                                                                                                                                                        interface PushResultPushedItem

                                                                                                                                                                                                                                        interface PushResultPushedItem {}

                                                                                                                                                                                                                                        property alreadyUpdated

                                                                                                                                                                                                                                        readonly alreadyUpdated: boolean;

                                                                                                                                                                                                                                          property branch

                                                                                                                                                                                                                                          readonly branch: boolean;

                                                                                                                                                                                                                                            property deleted

                                                                                                                                                                                                                                            readonly deleted: boolean;

                                                                                                                                                                                                                                              property local

                                                                                                                                                                                                                                              local: string;

                                                                                                                                                                                                                                                property new

                                                                                                                                                                                                                                                readonly new: boolean;

                                                                                                                                                                                                                                                  property remote

                                                                                                                                                                                                                                                  remote: string;

                                                                                                                                                                                                                                                    property tag

                                                                                                                                                                                                                                                    readonly tag: boolean;

                                                                                                                                                                                                                                                      interface PushResultRemoteMessages

                                                                                                                                                                                                                                                      interface PushResultRemoteMessages extends RemoteMessages {}

                                                                                                                                                                                                                                                        property pullRequestUrl

                                                                                                                                                                                                                                                        pullRequestUrl?: string;

                                                                                                                                                                                                                                                          property vulnerabilities

                                                                                                                                                                                                                                                          vulnerabilities?: {
                                                                                                                                                                                                                                                          count: number;
                                                                                                                                                                                                                                                          summary: string;
                                                                                                                                                                                                                                                          url: string;
                                                                                                                                                                                                                                                          };

                                                                                                                                                                                                                                                            interface RemoteMessageResult

                                                                                                                                                                                                                                                            interface RemoteMessageResult<T extends RemoteMessages = RemoteMessages> {}

                                                                                                                                                                                                                                                              property remoteMessages

                                                                                                                                                                                                                                                              remoteMessages: T;

                                                                                                                                                                                                                                                                interface RemoteMessages

                                                                                                                                                                                                                                                                interface RemoteMessages {}

                                                                                                                                                                                                                                                                  property all

                                                                                                                                                                                                                                                                  all: string[];

                                                                                                                                                                                                                                                                    property objects

                                                                                                                                                                                                                                                                    objects?: RemoteMessagesObjectEnumeration;

                                                                                                                                                                                                                                                                      interface RemoteMessagesObjectEnumeration

                                                                                                                                                                                                                                                                      interface RemoteMessagesObjectEnumeration {}

                                                                                                                                                                                                                                                                        property compressing

                                                                                                                                                                                                                                                                        compressing: number;

                                                                                                                                                                                                                                                                          property counting

                                                                                                                                                                                                                                                                          counting: number;

                                                                                                                                                                                                                                                                            property enumerating

                                                                                                                                                                                                                                                                            enumerating: number;

                                                                                                                                                                                                                                                                              property packReused

                                                                                                                                                                                                                                                                              packReused: number;

                                                                                                                                                                                                                                                                                property reused

                                                                                                                                                                                                                                                                                reused: {
                                                                                                                                                                                                                                                                                count: number;
                                                                                                                                                                                                                                                                                delta: number;
                                                                                                                                                                                                                                                                                };

                                                                                                                                                                                                                                                                                  property total

                                                                                                                                                                                                                                                                                  total: {
                                                                                                                                                                                                                                                                                  count: number;
                                                                                                                                                                                                                                                                                  delta: number;
                                                                                                                                                                                                                                                                                  };

                                                                                                                                                                                                                                                                                    interface RemoteWithoutRefs

                                                                                                                                                                                                                                                                                    interface RemoteWithoutRefs {}

                                                                                                                                                                                                                                                                                      property name

                                                                                                                                                                                                                                                                                      name: string;

                                                                                                                                                                                                                                                                                        interface RemoteWithRefs

                                                                                                                                                                                                                                                                                        interface RemoteWithRefs extends RemoteWithoutRefs {}

                                                                                                                                                                                                                                                                                          property refs

                                                                                                                                                                                                                                                                                          refs: {
                                                                                                                                                                                                                                                                                          fetch: string;
                                                                                                                                                                                                                                                                                          push: string;
                                                                                                                                                                                                                                                                                          };

                                                                                                                                                                                                                                                                                            interface SimpleGit

                                                                                                                                                                                                                                                                                            interface SimpleGit extends SimpleGitBase {}

                                                                                                                                                                                                                                                                                              method addAnnotatedTag

                                                                                                                                                                                                                                                                                              addAnnotatedTag: (
                                                                                                                                                                                                                                                                                              tagName: string,
                                                                                                                                                                                                                                                                                              tagMessage: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<{ name: string }>
                                                                                                                                                                                                                                                                                              ) => Response<{ name: string }>;
                                                                                                                                                                                                                                                                                              • Add an annotated tag to the head of the current branch

                                                                                                                                                                                                                                                                                              method addConfig

                                                                                                                                                                                                                                                                                              addConfig: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              key: string,
                                                                                                                                                                                                                                                                                              value: string,
                                                                                                                                                                                                                                                                                              append?: boolean,
                                                                                                                                                                                                                                                                                              scope?: keyof typeof types.GitConfigScope,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              key: string,
                                                                                                                                                                                                                                                                                              value: string,
                                                                                                                                                                                                                                                                                              append?: boolean,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              key: string,
                                                                                                                                                                                                                                                                                              value: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Add config to local git instance for the specified key (eg: user.name) and value (eg: 'your name'). Set append to true to append to rather than overwrite the key

                                                                                                                                                                                                                                                                                              method addRemote

                                                                                                                                                                                                                                                                                              addRemote: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              remoteName: string,
                                                                                                                                                                                                                                                                                              remoteRepo: string,
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              remoteName: string,
                                                                                                                                                                                                                                                                                              remoteRepo: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Adds a remote to the list of remotes.

                                                                                                                                                                                                                                                                                                - remoteName Name of the repository - eg "upstream" - remoteRepo Fully qualified SSH or HTTP(S) path to the remote repo - options Optional additional settings permitted by the git remote add command, merged into the command prior to the repo name and remote url

                                                                                                                                                                                                                                                                                              method addTag

                                                                                                                                                                                                                                                                                              addTag: (
                                                                                                                                                                                                                                                                                              name: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<{ name: string }>
                                                                                                                                                                                                                                                                                              ) => Response<{ name: string }>;
                                                                                                                                                                                                                                                                                              • Add a lightweight tag to the head of the current branch

                                                                                                                                                                                                                                                                                              method applyPatch

                                                                                                                                                                                                                                                                                              applyPatch: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              patches: string | string[],
                                                                                                                                                                                                                                                                                              options: types.TaskOptions<types.ApplyOptions>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              patches: string | string[],
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Applies a patch to the repo

                                                                                                                                                                                                                                                                                              method binaryCatFile

                                                                                                                                                                                                                                                                                              binaryCatFile: (
                                                                                                                                                                                                                                                                                              options: string[],
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<any>
                                                                                                                                                                                                                                                                                              ) => Response<any>;
                                                                                                                                                                                                                                                                                              • Equivalent to catFile but will return the native Buffer of content from the git command's stdout.

                                                                                                                                                                                                                                                                                              method branch

                                                                                                                                                                                                                                                                                              branch: (
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.BranchSummary>
                                                                                                                                                                                                                                                                                              ) => Response<resp.BranchSummary>;
                                                                                                                                                                                                                                                                                              • List all branches

                                                                                                                                                                                                                                                                                              method branchLocal

                                                                                                                                                                                                                                                                                              branchLocal: (
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.BranchSummary>
                                                                                                                                                                                                                                                                                              ) => Response<resp.BranchSummary>;
                                                                                                                                                                                                                                                                                              • List of local branches

                                                                                                                                                                                                                                                                                              method catFile

                                                                                                                                                                                                                                                                                              catFile: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              options: string[],
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (callback?: types.SimpleGitTaskCallback<string, GitError>): Response<string>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Returns a list of objects in a tree based on commit hash. Passing in an object hash returns the object's content, size, and type.

                                                                                                                                                                                                                                                                                                Passing "-p" will instruct cat-file to determine the object type, and display its formatted contents.

                                                                                                                                                                                                                                                                                                See Also

                                                                                                                                                                                                                                                                                                • https://git-scm.com/docs/git-cat-file

                                                                                                                                                                                                                                                                                              method checkIgnore

                                                                                                                                                                                                                                                                                              checkIgnore: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              pathNames: string[],
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string[]>
                                                                                                                                                                                                                                                                                              ): Response<string[]>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              path: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string[], GitError>
                                                                                                                                                                                                                                                                                              ): Response<string[]>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Check if a pathname or pathnames are excluded by .gitignore

                                                                                                                                                                                                                                                                                              method checkIsRepo

                                                                                                                                                                                                                                                                                              checkIsRepo: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              action?: types.CheckRepoActions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<boolean>
                                                                                                                                                                                                                                                                                              ): Response<boolean>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<boolean, GitError>
                                                                                                                                                                                                                                                                                              ): Response<boolean>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Validates that the current working directory is a valid git repo file path.

                                                                                                                                                                                                                                                                                                To make a more specific assertion of the repo, add the action argument:

                                                                                                                                                                                                                                                                                                - bare to validate that the working directory is inside a bare repo. - root to validate that the working directory is the root of a repo. - tree (default value when omitted) to simply validate that the working directory is the descendent of a repo

                                                                                                                                                                                                                                                                                              method checkout

                                                                                                                                                                                                                                                                                              checkout: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              what: string,
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              what: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Checkout a tag or revision, any number of additional arguments can be passed to the git checkout command by supplying either a string or array of strings as the what parameter.

                                                                                                                                                                                                                                                                                              method checkoutBranch

                                                                                                                                                                                                                                                                                              checkoutBranch: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              branchName: string,
                                                                                                                                                                                                                                                                                              startPoint: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<void>
                                                                                                                                                                                                                                                                                              ): Response<void>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              branchName: string,
                                                                                                                                                                                                                                                                                              startPoint: string,
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<void, GitError>
                                                                                                                                                                                                                                                                                              ): Response<void>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Checkout a remote branch - equivalent to git checkout -b ${branchName} ${startPoint}

                                                                                                                                                                                                                                                                                                - branchName name of branch. - startPoint (e.g origin/development).

                                                                                                                                                                                                                                                                                              method checkoutLatestTag

                                                                                                                                                                                                                                                                                              checkoutLatestTag: (
                                                                                                                                                                                                                                                                                              branchName: string,
                                                                                                                                                                                                                                                                                              startPoint: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<void>
                                                                                                                                                                                                                                                                                              ) => Response<void>;
                                                                                                                                                                                                                                                                                              • Internally uses pull and tags to get the list of tags then checks out the latest tag.

                                                                                                                                                                                                                                                                                              method checkoutLocalBranch

                                                                                                                                                                                                                                                                                              checkoutLocalBranch: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              branchName: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<void>
                                                                                                                                                                                                                                                                                              ): Response<void>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              branchName: string,
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<void, GitError>
                                                                                                                                                                                                                                                                                              ): Response<void>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Checkout a local branch - equivalent to git checkout -b ${branchName}

                                                                                                                                                                                                                                                                                              method clean

                                                                                                                                                                                                                                                                                              clean: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              args: types.CleanOptions[],
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.CleanSummary>
                                                                                                                                                                                                                                                                                              ): Response<resp.CleanSummary>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              mode: string,
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.CleanSummary, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.CleanSummary>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              mode: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.CleanSummary, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.CleanSummary>;
                                                                                                                                                                                                                                                                                              (options?: types.TaskOptions<types.Options>): Response<resp.CleanSummary>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.CleanSummary, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.CleanSummary>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Deletes unwanted content from the local repo - when supplying the first argument as an array of CleanOptions, the array must include one of CleanOptions.FORCE or CleanOptions.DRY_RUN.

                                                                                                                                                                                                                                                                                                eg:

                                                                                                                                                                                                                                                                                                await git.clean(CleanOptions.FORCE);
                                                                                                                                                                                                                                                                                                await git.clean(CleanOptions.DRY_RUN + CleanOptions.RECURSIVE);
                                                                                                                                                                                                                                                                                                await git.clean(CleanOptions.FORCE, ['./path']);
                                                                                                                                                                                                                                                                                                await git.clean(CleanOptions.IGNORED + CleanOptions.FORCE, {'./path': null});

                                                                                                                                                                                                                                                                                              method clearQueue

                                                                                                                                                                                                                                                                                              clearQueue: () => this;
                                                                                                                                                                                                                                                                                              • Clears the queue of pending commands and returns the wrapper instance for chaining.

                                                                                                                                                                                                                                                                                              method clone

                                                                                                                                                                                                                                                                                              clone: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              repoPath: string,
                                                                                                                                                                                                                                                                                              localPath: string,
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              repoPath: string,
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Clone a repository into a new directory.

                                                                                                                                                                                                                                                                                                - repoPath repository url to clone e.g. https://github.com/steveukx/git-js.git - localPath local folder path to clone to. - options supported by [git](https://git-scm.com/docs/git-clone).

                                                                                                                                                                                                                                                                                              method commit

                                                                                                                                                                                                                                                                                              commit: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              message: string | string[],
                                                                                                                                                                                                                                                                                              files?: string | string[],
                                                                                                                                                                                                                                                                                              options?: types.Options,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.CommitResult>
                                                                                                                                                                                                                                                                                              ): Response<resp.CommitResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              message: string | string[],
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.CommitResult, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.CommitResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              message: string | string[],
                                                                                                                                                                                                                                                                                              files?: string | string[],
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.CommitResult, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.CommitResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              message: string | string[],
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.CommitResult, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.CommitResult>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Commits changes in the current working directory - when specific file paths are supplied, only changes on those files will be committed.

                                                                                                                                                                                                                                                                                              method countObjects

                                                                                                                                                                                                                                                                                              countObjects: (
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<types.VersionResult>
                                                                                                                                                                                                                                                                                              ) => Response<types.CountObjectsResult>;
                                                                                                                                                                                                                                                                                              • Retrieves git disk usage information, see https://git-scm.com/docs/git-count-objects

                                                                                                                                                                                                                                                                                              method customBinary

                                                                                                                                                                                                                                                                                              customBinary: (
                                                                                                                                                                                                                                                                                              command: Exclude<types.SimpleGitOptions['binary'], undefined>
                                                                                                                                                                                                                                                                                              ) => this;
                                                                                                                                                                                                                                                                                              • Sets the path to a custom git binary, should either be git when there is an installation of git available on the system path, or a fully qualified path to the executable.

                                                                                                                                                                                                                                                                                              method deleteLocalBranch

                                                                                                                                                                                                                                                                                              deleteLocalBranch: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              branchName: string,
                                                                                                                                                                                                                                                                                              forceDelete?: boolean,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.BranchSingleDeleteResult>
                                                                                                                                                                                                                                                                                              ): Response<resp.BranchSingleDeleteResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              branchName: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<
                                                                                                                                                                                                                                                                                              resp.BranchSingleDeleteResult,
                                                                                                                                                                                                                                                                                              GitError
                                                                                                                                                                                                                                                                                              >
                                                                                                                                                                                                                                                                                              ): Response<resp.BranchSingleDeleteResult>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Delete one local branch. Supply the branchName as a string to return a single BranchDeletionSummary instances.

                                                                                                                                                                                                                                                                                                - branchName name of branch - forceDelete (optional, defaults to false) set to true to forcibly delete unmerged branches

                                                                                                                                                                                                                                                                                              method deleteLocalBranches

                                                                                                                                                                                                                                                                                              deleteLocalBranches: (
                                                                                                                                                                                                                                                                                              branchNames: string[],
                                                                                                                                                                                                                                                                                              forceDelete?: boolean,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.BranchMultiDeleteResult>
                                                                                                                                                                                                                                                                                              ) => Response<resp.BranchMultiDeleteResult>;
                                                                                                                                                                                                                                                                                              • Delete one or more local branches. Supply the branchName as a string to return a single BranchDeletionSummary or as an array of branch names to return an array of BranchDeletionSummary instances.

                                                                                                                                                                                                                                                                                                - branchNames name of branch or array of branch names - forceDelete (optional, defaults to false) set to true to forcibly delete unmerged branches

                                                                                                                                                                                                                                                                                              method diff

                                                                                                                                                                                                                                                                                              diff: (
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ) => Response<string>;
                                                                                                                                                                                                                                                                                              • Get the diff of the current repo compared to the last commit with a set of options supplied as a string.

                                                                                                                                                                                                                                                                                              method diffSummary

                                                                                                                                                                                                                                                                                              diffSummary: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              command: string | number,
                                                                                                                                                                                                                                                                                              options: types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.DiffResult>
                                                                                                                                                                                                                                                                                              ): Response<resp.DiffResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              command: string | number,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.DiffResult, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.DiffResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              options: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.DiffResult, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.DiffResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.DiffResult, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.DiffResult>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Gets a summary of the diff for files in the repo, uses the git diff --stat format to calculate changes.

                                                                                                                                                                                                                                                                                                in order to get staged (only): --cached or --staged.

                                                                                                                                                                                                                                                                                              method env

                                                                                                                                                                                                                                                                                              env: { (name: string, value: string): this; (env: object): this };
                                                                                                                                                                                                                                                                                              • Sets an environment variable for the spawned child process, either supply both a name and value as strings or a single object to entirely replace the current environment variables.

                                                                                                                                                                                                                                                                                                Parameter name

                                                                                                                                                                                                                                                                                                Parameter value

                                                                                                                                                                                                                                                                                              method exec

                                                                                                                                                                                                                                                                                              exec: (handle: () => void) => Response<void>;
                                                                                                                                                                                                                                                                                              • Calls the supplied handle function at the next step in the chain, used to run arbitrary functions synchronously before the next task in the git API.

                                                                                                                                                                                                                                                                                              method fetch

                                                                                                                                                                                                                                                                                              fetch: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              remote: string,
                                                                                                                                                                                                                                                                                              branch: string,
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.FetchResult>
                                                                                                                                                                                                                                                                                              ): Response<resp.FetchResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              remote: string,
                                                                                                                                                                                                                                                                                              branch: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.FetchResult, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.FetchResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              remote: string,
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.FetchResult, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.FetchResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.FetchResult, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.FetchResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.FetchResult, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.FetchResult>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Updates the local working copy database with changes from the default remote repo and branch.

                                                                                                                                                                                                                                                                                              method firstCommit

                                                                                                                                                                                                                                                                                              firstCommit: (
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ) => Response<string>;
                                                                                                                                                                                                                                                                                              • Gets the commit hash of the first commit in the repo

                                                                                                                                                                                                                                                                                              method getConfig

                                                                                                                                                                                                                                                                                              getConfig: (
                                                                                                                                                                                                                                                                                              key: string,
                                                                                                                                                                                                                                                                                              scope?: keyof typeof types.GitConfigScope,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ) => Response<resp.ConfigGetResult>;
                                                                                                                                                                                                                                                                                              • Gets the current value of a configuration property by it key, optionally specify the scope in which to run the command (omit / set to undefined to check in the complete overlaid configuration visible to the git process).

                                                                                                                                                                                                                                                                                              method getRemotes

                                                                                                                                                                                                                                                                                              getRemotes: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<types.RemoteWithoutRefs[]>
                                                                                                                                                                                                                                                                                              ): Response<types.RemoteWithoutRefs[]>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              verbose?: false,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<
                                                                                                                                                                                                                                                                                              types.RemoteWithoutRefs[],
                                                                                                                                                                                                                                                                                              GitError
                                                                                                                                                                                                                                                                                              >
                                                                                                                                                                                                                                                                                              ): Response<types.RemoteWithoutRefs[]>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              verbose: true,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<types.RemoteWithRefs[], GitError>
                                                                                                                                                                                                                                                                                              ): Response<types.RemoteWithRefs[]>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Gets the currently available remotes, setting the optional verbose argument to true includes additional detail on the remotes themselves.

                                                                                                                                                                                                                                                                                              method grep

                                                                                                                                                                                                                                                                                              grep: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              searchTerm: string | types.GitGrepQuery,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.GrepResult>
                                                                                                                                                                                                                                                                                              ): Response<resp.GrepResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              searchTerm: string | types.GitGrepQuery,
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.GrepResult, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.GrepResult>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Search for files matching the supplied search terms

                                                                                                                                                                                                                                                                                              method listConfig

                                                                                                                                                                                                                                                                                              listConfig: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              scope: keyof typeof types.GitConfigScope,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.ConfigListSummary>
                                                                                                                                                                                                                                                                                              ): Response<resp.ConfigListSummary>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.ConfigListSummary, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.ConfigListSummary>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Configuration values visible to git in the current working directory

                                                                                                                                                                                                                                                                                              method listRemote

                                                                                                                                                                                                                                                                                              listRemote: (
                                                                                                                                                                                                                                                                                              args?: types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ) => Response<string>;
                                                                                                                                                                                                                                                                                              • List remotes by running the ls-remote command with any number of arbitrary options in either array of object form.

                                                                                                                                                                                                                                                                                              method log

                                                                                                                                                                                                                                                                                              log: <T = types.DefaultLogFields>(
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions | types.LogOptions<T>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.LogResult<T>>
                                                                                                                                                                                                                                                                                              ) => Response<resp.LogResult<T>>;
                                                                                                                                                                                                                                                                                              • Show commit logs from HEAD to the first commit. If provided between options.from and options.to tags or branch.

                                                                                                                                                                                                                                                                                                You can provide options.file, which is the path to a file in your repository. Then only this file will be considered.

                                                                                                                                                                                                                                                                                                To use a custom splitter in the log format, set options.splitter to be the string the log should be split on.

                                                                                                                                                                                                                                                                                                By default the following fields will be part of the result: hash: full commit hash date: author date, ISO 8601-like format message: subject + ref names, like the --decorate option of git-log author_name: author name author_email: author mail You can specify options.format to be an mapping from key to a format option like %H (for commit hash). The fields specified in options.format will be the fields in the result.

                                                                                                                                                                                                                                                                                                Options can also be supplied as a standard options object for adding custom properties supported by the git log command. For any other set of options, supply options as an array of strings to be appended to the git log command.

                                                                                                                                                                                                                                                                                                Returns

                                                                                                                                                                                                                                                                                                Response

                                                                                                                                                                                                                                                                                                See Also

                                                                                                                                                                                                                                                                                                • https://git-scm.com/docs/git-log

                                                                                                                                                                                                                                                                                              method mirror

                                                                                                                                                                                                                                                                                              mirror: (
                                                                                                                                                                                                                                                                                              repoPath: string,
                                                                                                                                                                                                                                                                                              localPath: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ) => Response<string>;
                                                                                                                                                                                                                                                                                              • Mirror a git repo

                                                                                                                                                                                                                                                                                                Equivalent to git.clone(repoPath, localPath, ['--mirror']), clone allows for additional task options.

                                                                                                                                                                                                                                                                                              method mv

                                                                                                                                                                                                                                                                                              mv: (
                                                                                                                                                                                                                                                                                              from: string | string[],
                                                                                                                                                                                                                                                                                              to: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.MoveSummary>
                                                                                                                                                                                                                                                                                              ) => Response<resp.MoveSummary>;
                                                                                                                                                                                                                                                                                              • Moves one or more files to a new destination.

                                                                                                                                                                                                                                                                                                See Also

                                                                                                                                                                                                                                                                                                • https://git-scm.com/docs/git-mv

                                                                                                                                                                                                                                                                                              method pull

                                                                                                                                                                                                                                                                                              pull: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              remote?: string,
                                                                                                                                                                                                                                                                                              branch?: string,
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.PullResult>
                                                                                                                                                                                                                                                                                              ): Response<resp.PullResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.PullResult, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.PullResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.PullResult, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.PullResult>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Fetch from and integrate with another repository or a local branch. In the case that the git pull fails with a recognised fatal error, the exception thrown by this function will be a GitResponseError<PullFailedResult>.

                                                                                                                                                                                                                                                                                              method pushTags

                                                                                                                                                                                                                                                                                              pushTags: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              remote: string,
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.PushResult>
                                                                                                                                                                                                                                                                                              ): Response<resp.PushResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.PushResult, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.PushResult>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<resp.PushResult, GitError>
                                                                                                                                                                                                                                                                                              ): Response<resp.PushResult>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Pushes the current tag changes to a remote which can be either a URL or named remote. When not specified uses the default configured remote spec.

                                                                                                                                                                                                                                                                                              method raw

                                                                                                                                                                                                                                                                                              raw: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              commands: string | string[] | types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              options: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (...commands: string[]): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              a: string,
                                                                                                                                                                                                                                                                                              options: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              a: string,
                                                                                                                                                                                                                                                                                              b: string,
                                                                                                                                                                                                                                                                                              options: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              a: string,
                                                                                                                                                                                                                                                                                              b: string,
                                                                                                                                                                                                                                                                                              c: string,
                                                                                                                                                                                                                                                                                              options: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              a: string,
                                                                                                                                                                                                                                                                                              b: string,
                                                                                                                                                                                                                                                                                              c: string,
                                                                                                                                                                                                                                                                                              d: string,
                                                                                                                                                                                                                                                                                              options: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              a: string,
                                                                                                                                                                                                                                                                                              b: string,
                                                                                                                                                                                                                                                                                              c: string,
                                                                                                                                                                                                                                                                                              d: string,
                                                                                                                                                                                                                                                                                              e: string,
                                                                                                                                                                                                                                                                                              options: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              a: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              a: string,
                                                                                                                                                                                                                                                                                              b: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              a: string,
                                                                                                                                                                                                                                                                                              b: string,
                                                                                                                                                                                                                                                                                              c: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              a: string,
                                                                                                                                                                                                                                                                                              b: string,
                                                                                                                                                                                                                                                                                              c: string,
                                                                                                                                                                                                                                                                                              d: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              a: string,
                                                                                                                                                                                                                                                                                              b: string,
                                                                                                                                                                                                                                                                                              c: string,
                                                                                                                                                                                                                                                                                              d: string,
                                                                                                                                                                                                                                                                                              e: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Executes any command against the git binary.

                                                                                                                                                                                                                                                                                              method rebase

                                                                                                                                                                                                                                                                                              rebase: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (callback?: types.SimpleGitTaskCallback<string, GitError>): Response<string>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Rebases the current working copy. Options can be supplied either as an array of string parameters to be sent to the git rebase command, or a standard options object.

                                                                                                                                                                                                                                                                                              method remote

                                                                                                                                                                                                                                                                                              remote: (
                                                                                                                                                                                                                                                                                              options: string[],
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<void | string>
                                                                                                                                                                                                                                                                                              ) => Response<void | string>;
                                                                                                                                                                                                                                                                                              • Call any git remote function with arguments passed as an array of strings.

                                                                                                                                                                                                                                                                                              method removeRemote

                                                                                                                                                                                                                                                                                              removeRemote: (
                                                                                                                                                                                                                                                                                              remoteName: string,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<void>
                                                                                                                                                                                                                                                                                              ) => Response<void>;
                                                                                                                                                                                                                                                                                              • Removes an entry from the list of remotes.

                                                                                                                                                                                                                                                                                                - remoteName Name of the repository - eg "upstream"

                                                                                                                                                                                                                                                                                              method reset

                                                                                                                                                                                                                                                                                              reset: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              mode: types.ResetMode,
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions<types.ResetOptions>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              mode: types.ResetMode,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions<types.ResetOptions>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Reset a repo. Called without arguments this is a soft reset for the whole repo, for explicitly setting the reset mode, supply the first argument as one of the supported reset modes.

                                                                                                                                                                                                                                                                                                Trailing options argument can be either a string array, or an extension of the ResetOptions, use this argument for supplying arbitrary additional arguments, such as restricting the pathspec.

                                                                                                                                                                                                                                                                                                // equivalent to each other
                                                                                                                                                                                                                                                                                                simpleGit().reset(ResetMode.HARD, ['--', 'my-file.txt']);
                                                                                                                                                                                                                                                                                                simpleGit().reset(['--hard', '--', 'my-file.txt']);
                                                                                                                                                                                                                                                                                                simpleGit().reset(ResetMode.HARD, {'--': null, 'my-file.txt': null});
                                                                                                                                                                                                                                                                                                simpleGit().reset({'--hard': null, '--': null, 'my-file.txt': null});

                                                                                                                                                                                                                                                                                              method revert

                                                                                                                                                                                                                                                                                              revert: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              commit: String,
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<void>
                                                                                                                                                                                                                                                                                              ): Response<void>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              commit: String,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<void, GitError>
                                                                                                                                                                                                                                                                                              ): Response<void>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Revert one or more commits in the local working copy

                                                                                                                                                                                                                                                                                                - commit The commit to revert. Can be any hash, offset (eg: HEAD~2) or range (eg: master~5..master~2)

                                                                                                                                                                                                                                                                                              method revparse

                                                                                                                                                                                                                                                                                              revparse: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              option: string,
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Passes the supplied options to git rev-parse and returns the string response. Options can be either a string array or Options object of options compatible with the [rev-parse](https://git-scm.com/docs/git-rev-parse)

                                                                                                                                                                                                                                                                                                Example uses of rev-parse include converting friendly commit references (ie: branch names) to SHA1 hashes and retrieving meta details about the current repo (eg: the root directory, and whether it was created as a bare repo).

                                                                                                                                                                                                                                                                                              method rm

                                                                                                                                                                                                                                                                                              rm: (
                                                                                                                                                                                                                                                                                              paths: string | string[],
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<void>
                                                                                                                                                                                                                                                                                              ) => Response<void>;
                                                                                                                                                                                                                                                                                              • Removes the named files from source control.

                                                                                                                                                                                                                                                                                              method rmKeepLocal

                                                                                                                                                                                                                                                                                              rmKeepLocal: (
                                                                                                                                                                                                                                                                                              paths: string | string[],
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<void>
                                                                                                                                                                                                                                                                                              ) => Response<void>;
                                                                                                                                                                                                                                                                                              • Removes the named files from source control but keeps them on disk rather than deleting them entirely. To completely remove the files, use rm.

                                                                                                                                                                                                                                                                                              method show

                                                                                                                                                                                                                                                                                              show: {
                                                                                                                                                                                                                                                                                              (
                                                                                                                                                                                                                                                                                              option: string | types.TaskOptions,
                                                                                                                                                                                                                                                                                              callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                              ): Response<string>;
                                                                                                                                                                                                                                                                                              (callback?: types.SimpleGitTaskCallback<string, GitError>): Response<string>;
                                                                                                                                                                                                                                                                                              };
                                                                                                                                                                                                                                                                                              • Show various types of objects, for example the file at a certain commit

                                                                                                                                                                                                                                                                                              method showBuffer

                                                                                                                                                                                                                                                                                              showBuffer: (option: string | types.TaskOptions) => Response<Buffer>;

                                                                                                                                                                                                                                                                                                method silent

                                                                                                                                                                                                                                                                                                silent: (silence?: boolean) => this;
                                                                                                                                                                                                                                                                                                • Parameter silence

                                                                                                                                                                                                                                                                                                  Deprecated

                                                                                                                                                                                                                                                                                                  From version 2.7.0, use of silent is deprecated in favour of using the debug library, this method will be removed in version 3.x.

                                                                                                                                                                                                                                                                                                  Please see the [readme](https://github.com/steveukx/git-js/blob/master/readme.md#enable-logging) for more details.

                                                                                                                                                                                                                                                                                                  Disables/enables the use of the console for printing warnings and errors, by default messages are not shown in a production environment.

                                                                                                                                                                                                                                                                                                method stashList

                                                                                                                                                                                                                                                                                                stashList: {
                                                                                                                                                                                                                                                                                                (
                                                                                                                                                                                                                                                                                                options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                                callback?: types.SimpleGitTaskCallback<resp.LogResult>
                                                                                                                                                                                                                                                                                                ): Response<resp.LogResult>;
                                                                                                                                                                                                                                                                                                (
                                                                                                                                                                                                                                                                                                callback?: types.SimpleGitTaskCallback<
                                                                                                                                                                                                                                                                                                resp.LogResult<types.DefaultLogFields>,
                                                                                                                                                                                                                                                                                                GitError
                                                                                                                                                                                                                                                                                                >
                                                                                                                                                                                                                                                                                                ): Response<resp.LogResult<types.DefaultLogFields>>;
                                                                                                                                                                                                                                                                                                };
                                                                                                                                                                                                                                                                                                • List the stash(s) of the local repo

                                                                                                                                                                                                                                                                                                method subModule

                                                                                                                                                                                                                                                                                                subModule: (
                                                                                                                                                                                                                                                                                                options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                                callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                                ) => Response<string>;
                                                                                                                                                                                                                                                                                                • Call any git submodule function with arguments passed as an array of strings.

                                                                                                                                                                                                                                                                                                method submoduleAdd

                                                                                                                                                                                                                                                                                                submoduleAdd: (
                                                                                                                                                                                                                                                                                                repo: string,
                                                                                                                                                                                                                                                                                                path: string,
                                                                                                                                                                                                                                                                                                callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                                ) => Response<string>;
                                                                                                                                                                                                                                                                                                • Add a submodule

                                                                                                                                                                                                                                                                                                method submoduleInit

                                                                                                                                                                                                                                                                                                submoduleInit: {
                                                                                                                                                                                                                                                                                                (
                                                                                                                                                                                                                                                                                                moduleName: string,
                                                                                                                                                                                                                                                                                                options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                                callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                                ): Response<string>;
                                                                                                                                                                                                                                                                                                (
                                                                                                                                                                                                                                                                                                moduleName: string,
                                                                                                                                                                                                                                                                                                callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                                ): Response<string>;
                                                                                                                                                                                                                                                                                                (
                                                                                                                                                                                                                                                                                                options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                                callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                                ): Response<string>;
                                                                                                                                                                                                                                                                                                (callback?: types.SimpleGitTaskCallback<string, GitError>): Response<string>;
                                                                                                                                                                                                                                                                                                };
                                                                                                                                                                                                                                                                                                • Initialise submodules

                                                                                                                                                                                                                                                                                                method submoduleUpdate

                                                                                                                                                                                                                                                                                                submoduleUpdate: {
                                                                                                                                                                                                                                                                                                (
                                                                                                                                                                                                                                                                                                moduleName: string,
                                                                                                                                                                                                                                                                                                options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                                callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                                ): Response<string>;
                                                                                                                                                                                                                                                                                                (
                                                                                                                                                                                                                                                                                                moduleName: string,
                                                                                                                                                                                                                                                                                                callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                                ): Response<string>;
                                                                                                                                                                                                                                                                                                (
                                                                                                                                                                                                                                                                                                options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                                callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                                ): Response<string>;
                                                                                                                                                                                                                                                                                                (callback?: types.SimpleGitTaskCallback<string, GitError>): Response<string>;
                                                                                                                                                                                                                                                                                                };
                                                                                                                                                                                                                                                                                                • Update submodules

                                                                                                                                                                                                                                                                                                method tag

                                                                                                                                                                                                                                                                                                tag: (
                                                                                                                                                                                                                                                                                                options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                                callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                                ) => Response<string>;
                                                                                                                                                                                                                                                                                                • List all tags. When using git 2.7.0 or above, include an options object with "--sort": "property-name" to sort the tags by that property instead of using the default semantic versioning sort.

                                                                                                                                                                                                                                                                                                  Note, supplying this option when it is not supported by your Git version will cause the operation to fail.

                                                                                                                                                                                                                                                                                                method tags

                                                                                                                                                                                                                                                                                                tags: {
                                                                                                                                                                                                                                                                                                (
                                                                                                                                                                                                                                                                                                options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                                callback?: types.SimpleGitTaskCallback<resp.TagResult>
                                                                                                                                                                                                                                                                                                ): Response<resp.TagResult>;
                                                                                                                                                                                                                                                                                                (
                                                                                                                                                                                                                                                                                                callback?: types.SimpleGitTaskCallback<resp.TagResult, GitError>
                                                                                                                                                                                                                                                                                                ): Response<resp.TagResult>;
                                                                                                                                                                                                                                                                                                };
                                                                                                                                                                                                                                                                                                • Gets a list of tagged versions.

                                                                                                                                                                                                                                                                                                method updateServerInfo

                                                                                                                                                                                                                                                                                                updateServerInfo: (
                                                                                                                                                                                                                                                                                                callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                                ) => Response<string>;
                                                                                                                                                                                                                                                                                                • Updates repository server info

                                                                                                                                                                                                                                                                                                method version

                                                                                                                                                                                                                                                                                                version: (
                                                                                                                                                                                                                                                                                                callback?: types.SimpleGitTaskCallback<types.VersionResult>
                                                                                                                                                                                                                                                                                                ) => Response<types.VersionResult>;
                                                                                                                                                                                                                                                                                                • Retrieves git version information, including whether git is installed on the PATH

                                                                                                                                                                                                                                                                                                interface SimpleGitBase

                                                                                                                                                                                                                                                                                                interface SimpleGitBase {}

                                                                                                                                                                                                                                                                                                  method add

                                                                                                                                                                                                                                                                                                  add: (
                                                                                                                                                                                                                                                                                                  files: string | string[],
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                                  ) => Response<string>;
                                                                                                                                                                                                                                                                                                  • Adds one or more files to source control

                                                                                                                                                                                                                                                                                                  method cwd

                                                                                                                                                                                                                                                                                                  cwd: {
                                                                                                                                                                                                                                                                                                  (
                                                                                                                                                                                                                                                                                                  directory: { path: string; root?: boolean },
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                                  ): Response<string>;
                                                                                                                                                                                                                                                                                                  <path extends string>(
                                                                                                                                                                                                                                                                                                  directory: path,
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<path, GitError>
                                                                                                                                                                                                                                                                                                  ): Response<path>;
                                                                                                                                                                                                                                                                                                  };
                                                                                                                                                                                                                                                                                                  • Sets the working directory of the subsequent commands.

                                                                                                                                                                                                                                                                                                  method hashObject

                                                                                                                                                                                                                                                                                                  hashObject: {
                                                                                                                                                                                                                                                                                                  (path: string, callback?: types.SimpleGitTaskCallback): Response<string>;
                                                                                                                                                                                                                                                                                                  (
                                                                                                                                                                                                                                                                                                  path: string,
                                                                                                                                                                                                                                                                                                  write?: boolean,
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<string, GitError>
                                                                                                                                                                                                                                                                                                  ): Response<string>;
                                                                                                                                                                                                                                                                                                  };
                                                                                                                                                                                                                                                                                                  • Compute object ID from a file

                                                                                                                                                                                                                                                                                                  method init

                                                                                                                                                                                                                                                                                                  init: {
                                                                                                                                                                                                                                                                                                  (
                                                                                                                                                                                                                                                                                                  bare: boolean,
                                                                                                                                                                                                                                                                                                  options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<resp.InitResult>
                                                                                                                                                                                                                                                                                                  ): Response<resp.InitResult>;
                                                                                                                                                                                                                                                                                                  (
                                                                                                                                                                                                                                                                                                  bare: boolean,
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<resp.InitResult, GitError>
                                                                                                                                                                                                                                                                                                  ): Response<resp.InitResult>;
                                                                                                                                                                                                                                                                                                  (
                                                                                                                                                                                                                                                                                                  options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<resp.InitResult, GitError>
                                                                                                                                                                                                                                                                                                  ): Response<resp.InitResult>;
                                                                                                                                                                                                                                                                                                  (
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<resp.InitResult, GitError>
                                                                                                                                                                                                                                                                                                  ): Response<resp.InitResult>;
                                                                                                                                                                                                                                                                                                  };
                                                                                                                                                                                                                                                                                                  • Initialize a git repo

                                                                                                                                                                                                                                                                                                  method merge

                                                                                                                                                                                                                                                                                                  merge: (
                                                                                                                                                                                                                                                                                                  options: types.TaskOptions,
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<resp.MergeResult>
                                                                                                                                                                                                                                                                                                  ) => Response<resp.MergeResult>;
                                                                                                                                                                                                                                                                                                  • Runs a merge, options can be either an array of arguments supported by the [git merge](https://git-scm.com/docs/git-merge) or an options object.

                                                                                                                                                                                                                                                                                                    Conflicts during the merge result in an error response, the response type whether it was an error or success will be a MergeSummary instance. When successful, the MergeSummary has all detail from a the PullSummary

                                                                                                                                                                                                                                                                                                    See Also

                                                                                                                                                                                                                                                                                                    • https://github.com/steveukx/git-js/blob/master/src/responses/MergeSummary.js

                                                                                                                                                                                                                                                                                                    • https://github.com/steveukx/git-js/blob/master/src/responses/PullSummary.js

                                                                                                                                                                                                                                                                                                  method mergeFromTo

                                                                                                                                                                                                                                                                                                  mergeFromTo: {
                                                                                                                                                                                                                                                                                                  <E extends GitError>(
                                                                                                                                                                                                                                                                                                  remote: string,
                                                                                                                                                                                                                                                                                                  branch: string,
                                                                                                                                                                                                                                                                                                  options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<resp.MergeResult, E>
                                                                                                                                                                                                                                                                                                  ): Response<resp.MergeResult>;
                                                                                                                                                                                                                                                                                                  <E extends GitError>(
                                                                                                                                                                                                                                                                                                  remote: string,
                                                                                                                                                                                                                                                                                                  branch: string,
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<resp.MergeResult, E>
                                                                                                                                                                                                                                                                                                  ): Response<resp.MergeResult>;
                                                                                                                                                                                                                                                                                                  };
                                                                                                                                                                                                                                                                                                  • Merges from one branch to another, equivalent to running git merge ${remote} ${branch}, the options argument can either be an array of additional parameters to pass to the command or null / omitted to be ignored.

                                                                                                                                                                                                                                                                                                  method outputHandler

                                                                                                                                                                                                                                                                                                  outputHandler: (handler: types.outputHandler | void) => this;
                                                                                                                                                                                                                                                                                                  • Sets a handler function to be called whenever a new child process is created, the handler function will be called with the name of the command being run and the stdout & stderr streams used by the ChildProcess.

                                                                                                                                                                                                                                                                                                    Example 1

                                                                                                                                                                                                                                                                                                    require('simple-git') .outputHandler(function (command, stdout, stderr) { stdout.pipe(process.stdout); }) .checkout('https://github.com/user/repo.git');

                                                                                                                                                                                                                                                                                                    See Also

                                                                                                                                                                                                                                                                                                    • https://nodejs.org/api/child_process.html#child_process_class_childprocess

                                                                                                                                                                                                                                                                                                    • https://nodejs.org/api/stream.html#stream_class_stream_readable

                                                                                                                                                                                                                                                                                                  method push

                                                                                                                                                                                                                                                                                                  push: {
                                                                                                                                                                                                                                                                                                  (
                                                                                                                                                                                                                                                                                                  remote?: string,
                                                                                                                                                                                                                                                                                                  branch?: string,
                                                                                                                                                                                                                                                                                                  options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<resp.PushResult>
                                                                                                                                                                                                                                                                                                  ): Response<resp.PushResult>;
                                                                                                                                                                                                                                                                                                  (
                                                                                                                                                                                                                                                                                                  options?: types.TaskOptions<types.Options>,
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<resp.PushResult, GitError>
                                                                                                                                                                                                                                                                                                  ): Response<resp.PushResult>;
                                                                                                                                                                                                                                                                                                  (
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<resp.PushResult, GitError>
                                                                                                                                                                                                                                                                                                  ): Response<resp.PushResult>;
                                                                                                                                                                                                                                                                                                  };
                                                                                                                                                                                                                                                                                                  • Pushes the current committed changes to a remote, optionally specify the names of the remote and branch to use when pushing. Supply multiple options as an array of strings in the first argument - see examples below.

                                                                                                                                                                                                                                                                                                  method stash

                                                                                                                                                                                                                                                                                                  stash: {
                                                                                                                                                                                                                                                                                                  (
                                                                                                                                                                                                                                                                                                  options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<string>
                                                                                                                                                                                                                                                                                                  ): Response<string>;
                                                                                                                                                                                                                                                                                                  (callback?: types.SimpleGitTaskCallback<string, GitError>): Response<string>;
                                                                                                                                                                                                                                                                                                  };
                                                                                                                                                                                                                                                                                                  • Stash the local repo

                                                                                                                                                                                                                                                                                                  method status

                                                                                                                                                                                                                                                                                                  status: {
                                                                                                                                                                                                                                                                                                  (
                                                                                                                                                                                                                                                                                                  options?: types.TaskOptions,
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<resp.StatusResult>
                                                                                                                                                                                                                                                                                                  ): Response<resp.StatusResult>;
                                                                                                                                                                                                                                                                                                  (
                                                                                                                                                                                                                                                                                                  callback?: types.SimpleGitTaskCallback<resp.StatusResult, GitError>
                                                                                                                                                                                                                                                                                                  ): Response<resp.StatusResult>;
                                                                                                                                                                                                                                                                                                  };
                                                                                                                                                                                                                                                                                                  • Show the working tree status.

                                                                                                                                                                                                                                                                                                  interface SimpleGitFactory

                                                                                                                                                                                                                                                                                                  interface SimpleGitFactory {}

                                                                                                                                                                                                                                                                                                    call signature

                                                                                                                                                                                                                                                                                                    (baseDir?: string, options?: Partial<types.SimpleGitOptions>): SimpleGit;

                                                                                                                                                                                                                                                                                                      call signature

                                                                                                                                                                                                                                                                                                      (baseDir: string): SimpleGit;

                                                                                                                                                                                                                                                                                                        call signature

                                                                                                                                                                                                                                                                                                        (options: Partial<types.SimpleGitOptions>): SimpleGit;

                                                                                                                                                                                                                                                                                                          interface SimpleGitOptions

                                                                                                                                                                                                                                                                                                          interface SimpleGitOptions extends Partial<SimpleGitPluginConfig> {}
                                                                                                                                                                                                                                                                                                          • Optional configuration settings to be passed to the simpleGit builder.

                                                                                                                                                                                                                                                                                                          property baseDir

                                                                                                                                                                                                                                                                                                          baseDir: string;
                                                                                                                                                                                                                                                                                                          • Base directory for all tasks run through this simple-git instance

                                                                                                                                                                                                                                                                                                          property config

                                                                                                                                                                                                                                                                                                          config: string[];
                                                                                                                                                                                                                                                                                                          • Per-command configuration parameters to be passed with the -c switch to git

                                                                                                                                                                                                                                                                                                          property maxConcurrentProcesses

                                                                                                                                                                                                                                                                                                          maxConcurrentProcesses: number;
                                                                                                                                                                                                                                                                                                          • Limit for the number of child processes that will be spawned concurrently from a simple-git instance

                                                                                                                                                                                                                                                                                                          property trimmed

                                                                                                                                                                                                                                                                                                          trimmed: boolean;
                                                                                                                                                                                                                                                                                                          • Enable trimming of trailing white-space in git.raw

                                                                                                                                                                                                                                                                                                          interface SimpleGitProgressEvent

                                                                                                                                                                                                                                                                                                          interface SimpleGitProgressEvent {}
                                                                                                                                                                                                                                                                                                          • The event data emitted to the progress handler whenever progress detail is received.

                                                                                                                                                                                                                                                                                                          property method

                                                                                                                                                                                                                                                                                                          method: string;
                                                                                                                                                                                                                                                                                                          • The underlying method called - push, pull etc

                                                                                                                                                                                                                                                                                                          property processed

                                                                                                                                                                                                                                                                                                          processed: number;
                                                                                                                                                                                                                                                                                                          • The number of items processed so far

                                                                                                                                                                                                                                                                                                          property progress

                                                                                                                                                                                                                                                                                                          progress: number;
                                                                                                                                                                                                                                                                                                          • The percent progressed as a number 0 - 100

                                                                                                                                                                                                                                                                                                          property stage

                                                                                                                                                                                                                                                                                                          stage:
                                                                                                                                                                                                                                                                                                          | 'compressing'
                                                                                                                                                                                                                                                                                                          | 'counting'
                                                                                                                                                                                                                                                                                                          | 'receiving'
                                                                                                                                                                                                                                                                                                          | 'resolving'
                                                                                                                                                                                                                                                                                                          | 'unknown'
                                                                                                                                                                                                                                                                                                          | 'writing'
                                                                                                                                                                                                                                                                                                          | string;
                                                                                                                                                                                                                                                                                                          • The type of progress being reported, note that any one task may emit many stages - for example git clone emits both receiving and resolving

                                                                                                                                                                                                                                                                                                          property total

                                                                                                                                                                                                                                                                                                          total: number;
                                                                                                                                                                                                                                                                                                          • The total number of items to be processed

                                                                                                                                                                                                                                                                                                          interface StatusResult

                                                                                                                                                                                                                                                                                                          interface StatusResult {}
                                                                                                                                                                                                                                                                                                          • The StatusResult is returned for calls to git.status(), represents the state of the working directory.

                                                                                                                                                                                                                                                                                                          property ahead

                                                                                                                                                                                                                                                                                                          ahead: number;
                                                                                                                                                                                                                                                                                                          • Number of commits ahead of the tracked branch

                                                                                                                                                                                                                                                                                                          property behind

                                                                                                                                                                                                                                                                                                          behind: number;
                                                                                                                                                                                                                                                                                                          • Number of commits behind the tracked branch

                                                                                                                                                                                                                                                                                                          property conflicted

                                                                                                                                                                                                                                                                                                          conflicted: string[];

                                                                                                                                                                                                                                                                                                            property created

                                                                                                                                                                                                                                                                                                            created: string[];

                                                                                                                                                                                                                                                                                                              property current

                                                                                                                                                                                                                                                                                                              current: string | null;
                                                                                                                                                                                                                                                                                                              • Name of the current branch

                                                                                                                                                                                                                                                                                                              property deleted

                                                                                                                                                                                                                                                                                                              deleted: string[];

                                                                                                                                                                                                                                                                                                                property detached

                                                                                                                                                                                                                                                                                                                detached: boolean;
                                                                                                                                                                                                                                                                                                                • Detached status of the working copy, for more detail of what the working branch is detached from use git.branch()

                                                                                                                                                                                                                                                                                                                property files

                                                                                                                                                                                                                                                                                                                files: FileStatusResult[];
                                                                                                                                                                                                                                                                                                                • All files represented as an array of objects containing the path and status in index and in the working_dir.

                                                                                                                                                                                                                                                                                                                property ignored

                                                                                                                                                                                                                                                                                                                ignored?: string[];
                                                                                                                                                                                                                                                                                                                • Ignored files are not listed by default, add --ignored to the task options in order to see this array of ignored files/paths.

                                                                                                                                                                                                                                                                                                                  Note: ignored files will not be added to the files array, and will not be included in the isClean() calculation.

                                                                                                                                                                                                                                                                                                                property modified

                                                                                                                                                                                                                                                                                                                modified: string[];

                                                                                                                                                                                                                                                                                                                  property not_added

                                                                                                                                                                                                                                                                                                                  not_added: string[];

                                                                                                                                                                                                                                                                                                                    property renamed

                                                                                                                                                                                                                                                                                                                    renamed: StatusResultRenamed[];

                                                                                                                                                                                                                                                                                                                      property staged

                                                                                                                                                                                                                                                                                                                      staged: string[];

                                                                                                                                                                                                                                                                                                                        property tracking

                                                                                                                                                                                                                                                                                                                        tracking: string | null;
                                                                                                                                                                                                                                                                                                                        • Name of the branch being tracked

                                                                                                                                                                                                                                                                                                                        method isClean

                                                                                                                                                                                                                                                                                                                        isClean: () => boolean;
                                                                                                                                                                                                                                                                                                                        • Gets whether this represents a clean working branch.

                                                                                                                                                                                                                                                                                                                        interface StatusResultRenamed

                                                                                                                                                                                                                                                                                                                        interface StatusResultRenamed {}
                                                                                                                                                                                                                                                                                                                        • Represents file name changes in a StatusResult

                                                                                                                                                                                                                                                                                                                        property from

                                                                                                                                                                                                                                                                                                                        from: string;

                                                                                                                                                                                                                                                                                                                          property to

                                                                                                                                                                                                                                                                                                                          to: string;

                                                                                                                                                                                                                                                                                                                            interface TagResult

                                                                                                                                                                                                                                                                                                                            interface TagResult {}
                                                                                                                                                                                                                                                                                                                            • Response retrieved when using the git.tags method

                                                                                                                                                                                                                                                                                                                            property all

                                                                                                                                                                                                                                                                                                                            all: string[];
                                                                                                                                                                                                                                                                                                                            • All tag names

                                                                                                                                                                                                                                                                                                                            property latest

                                                                                                                                                                                                                                                                                                                            latest: string | undefined;
                                                                                                                                                                                                                                                                                                                            • The semver latest tag name or undefined when no tags are named in the response

                                                                                                                                                                                                                                                                                                                            interface VersionResult

                                                                                                                                                                                                                                                                                                                            interface VersionResult {}

                                                                                                                                                                                                                                                                                                                              property agent

                                                                                                                                                                                                                                                                                                                              agent: string;

                                                                                                                                                                                                                                                                                                                                property installed

                                                                                                                                                                                                                                                                                                                                installed: boolean;

                                                                                                                                                                                                                                                                                                                                  property major

                                                                                                                                                                                                                                                                                                                                  major: number;

                                                                                                                                                                                                                                                                                                                                    property minor

                                                                                                                                                                                                                                                                                                                                    minor: number;

                                                                                                                                                                                                                                                                                                                                      property patch

                                                                                                                                                                                                                                                                                                                                      patch: number | string;

                                                                                                                                                                                                                                                                                                                                        Enums

                                                                                                                                                                                                                                                                                                                                        enum CheckRepoActions

                                                                                                                                                                                                                                                                                                                                        enum CheckRepoActions {
                                                                                                                                                                                                                                                                                                                                        BARE = 'bare',
                                                                                                                                                                                                                                                                                                                                        IN_TREE = 'tree',
                                                                                                                                                                                                                                                                                                                                        IS_REPO_ROOT = 'root',
                                                                                                                                                                                                                                                                                                                                        }

                                                                                                                                                                                                                                                                                                                                          member BARE

                                                                                                                                                                                                                                                                                                                                          BARE = 'bare'

                                                                                                                                                                                                                                                                                                                                            member IN_TREE

                                                                                                                                                                                                                                                                                                                                            IN_TREE = 'tree'

                                                                                                                                                                                                                                                                                                                                              member IS_REPO_ROOT

                                                                                                                                                                                                                                                                                                                                              IS_REPO_ROOT = 'root'

                                                                                                                                                                                                                                                                                                                                                enum CleanOptions

                                                                                                                                                                                                                                                                                                                                                enum CleanOptions {
                                                                                                                                                                                                                                                                                                                                                DRY_RUN = 'n',
                                                                                                                                                                                                                                                                                                                                                FORCE = 'f',
                                                                                                                                                                                                                                                                                                                                                IGNORED_INCLUDED = 'x',
                                                                                                                                                                                                                                                                                                                                                IGNORED_ONLY = 'X',
                                                                                                                                                                                                                                                                                                                                                EXCLUDING = 'e',
                                                                                                                                                                                                                                                                                                                                                QUIET = 'q',
                                                                                                                                                                                                                                                                                                                                                RECURSIVE = 'd',
                                                                                                                                                                                                                                                                                                                                                }
                                                                                                                                                                                                                                                                                                                                                • All supported option switches available for use in a git.clean operation

                                                                                                                                                                                                                                                                                                                                                member DRY_RUN

                                                                                                                                                                                                                                                                                                                                                DRY_RUN = 'n'

                                                                                                                                                                                                                                                                                                                                                  member EXCLUDING

                                                                                                                                                                                                                                                                                                                                                  EXCLUDING = 'e'

                                                                                                                                                                                                                                                                                                                                                    member FORCE

                                                                                                                                                                                                                                                                                                                                                    FORCE = 'f'

                                                                                                                                                                                                                                                                                                                                                      member IGNORED_INCLUDED

                                                                                                                                                                                                                                                                                                                                                      IGNORED_INCLUDED = 'x'

                                                                                                                                                                                                                                                                                                                                                        member IGNORED_ONLY

                                                                                                                                                                                                                                                                                                                                                        IGNORED_ONLY = 'X'

                                                                                                                                                                                                                                                                                                                                                          member QUIET

                                                                                                                                                                                                                                                                                                                                                          QUIET = 'q'

                                                                                                                                                                                                                                                                                                                                                            member RECURSIVE

                                                                                                                                                                                                                                                                                                                                                            RECURSIVE = 'd'

                                                                                                                                                                                                                                                                                                                                                              enum DiffNameStatus

                                                                                                                                                                                                                                                                                                                                                              enum DiffNameStatus {
                                                                                                                                                                                                                                                                                                                                                              ADDED = 'A',
                                                                                                                                                                                                                                                                                                                                                              COPIED = 'C',
                                                                                                                                                                                                                                                                                                                                                              DELETED = 'D',
                                                                                                                                                                                                                                                                                                                                                              MODIFIED = 'M',
                                                                                                                                                                                                                                                                                                                                                              RENAMED = 'R',
                                                                                                                                                                                                                                                                                                                                                              CHANGED = 'T',
                                                                                                                                                                                                                                                                                                                                                              UNMERGED = 'U',
                                                                                                                                                                                                                                                                                                                                                              UNKNOWN = 'X',
                                                                                                                                                                                                                                                                                                                                                              BROKEN = 'B',
                                                                                                                                                                                                                                                                                                                                                              }

                                                                                                                                                                                                                                                                                                                                                                member ADDED

                                                                                                                                                                                                                                                                                                                                                                ADDED = 'A'

                                                                                                                                                                                                                                                                                                                                                                  member BROKEN

                                                                                                                                                                                                                                                                                                                                                                  BROKEN = 'B'

                                                                                                                                                                                                                                                                                                                                                                    member CHANGED

                                                                                                                                                                                                                                                                                                                                                                    CHANGED = 'T'

                                                                                                                                                                                                                                                                                                                                                                      member COPIED

                                                                                                                                                                                                                                                                                                                                                                      COPIED = 'C'

                                                                                                                                                                                                                                                                                                                                                                        member DELETED

                                                                                                                                                                                                                                                                                                                                                                        DELETED = 'D'

                                                                                                                                                                                                                                                                                                                                                                          member MODIFIED

                                                                                                                                                                                                                                                                                                                                                                          MODIFIED = 'M'

                                                                                                                                                                                                                                                                                                                                                                            member RENAMED

                                                                                                                                                                                                                                                                                                                                                                            RENAMED = 'R'

                                                                                                                                                                                                                                                                                                                                                                              member UNKNOWN

                                                                                                                                                                                                                                                                                                                                                                              UNKNOWN = 'X'

                                                                                                                                                                                                                                                                                                                                                                                member UNMERGED

                                                                                                                                                                                                                                                                                                                                                                                UNMERGED = 'U'

                                                                                                                                                                                                                                                                                                                                                                                  enum GitConfigScope

                                                                                                                                                                                                                                                                                                                                                                                  enum GitConfigScope {
                                                                                                                                                                                                                                                                                                                                                                                  system = 'system',
                                                                                                                                                                                                                                                                                                                                                                                  global = 'global',
                                                                                                                                                                                                                                                                                                                                                                                  local = 'local',
                                                                                                                                                                                                                                                                                                                                                                                  worktree = 'worktree',
                                                                                                                                                                                                                                                                                                                                                                                  }

                                                                                                                                                                                                                                                                                                                                                                                    member global

                                                                                                                                                                                                                                                                                                                                                                                    global = 'global'

                                                                                                                                                                                                                                                                                                                                                                                      member local

                                                                                                                                                                                                                                                                                                                                                                                      local = 'local'

                                                                                                                                                                                                                                                                                                                                                                                        member system

                                                                                                                                                                                                                                                                                                                                                                                        system = 'system'

                                                                                                                                                                                                                                                                                                                                                                                          member worktree

                                                                                                                                                                                                                                                                                                                                                                                          worktree = 'worktree'

                                                                                                                                                                                                                                                                                                                                                                                            enum ResetMode

                                                                                                                                                                                                                                                                                                                                                                                            enum ResetMode {
                                                                                                                                                                                                                                                                                                                                                                                            MIXED = 'mixed',
                                                                                                                                                                                                                                                                                                                                                                                            SOFT = 'soft',
                                                                                                                                                                                                                                                                                                                                                                                            HARD = 'hard',
                                                                                                                                                                                                                                                                                                                                                                                            MERGE = 'merge',
                                                                                                                                                                                                                                                                                                                                                                                            KEEP = 'keep',
                                                                                                                                                                                                                                                                                                                                                                                            }

                                                                                                                                                                                                                                                                                                                                                                                              member HARD

                                                                                                                                                                                                                                                                                                                                                                                              HARD = 'hard'

                                                                                                                                                                                                                                                                                                                                                                                                member KEEP

                                                                                                                                                                                                                                                                                                                                                                                                KEEP = 'keep'

                                                                                                                                                                                                                                                                                                                                                                                                  member MERGE

                                                                                                                                                                                                                                                                                                                                                                                                  MERGE = 'merge'

                                                                                                                                                                                                                                                                                                                                                                                                    member MIXED

                                                                                                                                                                                                                                                                                                                                                                                                    MIXED = 'mixed'

                                                                                                                                                                                                                                                                                                                                                                                                      member SOFT

                                                                                                                                                                                                                                                                                                                                                                                                      SOFT = 'soft'

                                                                                                                                                                                                                                                                                                                                                                                                        Type Aliases

                                                                                                                                                                                                                                                                                                                                                                                                        type ApplyOptions

                                                                                                                                                                                                                                                                                                                                                                                                        type ApplyOptions = Options &
                                                                                                                                                                                                                                                                                                                                                                                                        OptionFlags<
                                                                                                                                                                                                                                                                                                                                                                                                        | '--stat'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--numstat'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--summary'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--check'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--index'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--intent-to-add'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--3way'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--apply'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--no-add'
                                                                                                                                                                                                                                                                                                                                                                                                        | '-R'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--reverse'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--allow-binary-replacement'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--binary'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--reject'
                                                                                                                                                                                                                                                                                                                                                                                                        | '-z'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--inaccurate-eof'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--recount'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--cached'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--ignore-space-change'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--ignore-whitespace'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--verbose'
                                                                                                                                                                                                                                                                                                                                                                                                        | '--unsafe-paths'
                                                                                                                                                                                                                                                                                                                                                                                                        > &
                                                                                                                                                                                                                                                                                                                                                                                                        OptionFlags<'--whitespace', 'nowarn' | 'warn' | 'fix' | 'error' | 'error-all'> &
                                                                                                                                                                                                                                                                                                                                                                                                        OptionFlags<
                                                                                                                                                                                                                                                                                                                                                                                                        '--build-fake-ancestor' | '--exclude' | '--include' | '--directory',
                                                                                                                                                                                                                                                                                                                                                                                                        string
                                                                                                                                                                                                                                                                                                                                                                                                        > &
                                                                                                                                                                                                                                                                                                                                                                                                        OptionFlags<'-p' | '-C', number>;

                                                                                                                                                                                                                                                                                                                                                                                                          type BranchDeletionBatchSummary

                                                                                                                                                                                                                                                                                                                                                                                                          type BranchDeletionBatchSummary = BranchMultiDeleteResult;
                                                                                                                                                                                                                                                                                                                                                                                                          • Deprecated

                                                                                                                                                                                                                                                                                                                                                                                                            to aid consistent naming, please use BranchMultiDeleteResult instead of BranchDeletionBatchSummary.

                                                                                                                                                                                                                                                                                                                                                                                                          type BranchDeletionSummary

                                                                                                                                                                                                                                                                                                                                                                                                          type BranchDeletionSummary = BranchSingleDeleteResult;
                                                                                                                                                                                                                                                                                                                                                                                                          • Deprecated

                                                                                                                                                                                                                                                                                                                                                                                                            to aid consistent naming, please use BranchSingleDeleteResult instead of BranchDeletionSummary.

                                                                                                                                                                                                                                                                                                                                                                                                          type BranchSingleDeleteResult

                                                                                                                                                                                                                                                                                                                                                                                                          type BranchSingleDeleteResult =
                                                                                                                                                                                                                                                                                                                                                                                                          | BranchSingleDeleteFailure
                                                                                                                                                                                                                                                                                                                                                                                                          | BranchSingleDeleteSuccess;

                                                                                                                                                                                                                                                                                                                                                                                                            type CleanMode

                                                                                                                                                                                                                                                                                                                                                                                                            type CleanMode = CleanOptions.FORCE | CleanOptions.DRY_RUN;
                                                                                                                                                                                                                                                                                                                                                                                                            • The two modes git.clean can run in - one of these must be supplied in order for the command to not throw a TaskConfigurationError

                                                                                                                                                                                                                                                                                                                                                                                                            type CloneOptions

                                                                                                                                                                                                                                                                                                                                                                                                            type CloneOptions = Options &
                                                                                                                                                                                                                                                                                                                                                                                                            OptionFlags<
                                                                                                                                                                                                                                                                                                                                                                                                            | '--bare'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--dissociate'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--mirror'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--no-checkout'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--no-remote-submodules'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--no-shallow-submodules'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--no-single-branch'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--no-tags'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--remote-submodules'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--single-branch'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--shallow-submodules'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--verbose'
                                                                                                                                                                                                                                                                                                                                                                                                            > &
                                                                                                                                                                                                                                                                                                                                                                                                            OptionFlags<'--depth' | '-j' | '--jobs', number> &
                                                                                                                                                                                                                                                                                                                                                                                                            OptionFlags<
                                                                                                                                                                                                                                                                                                                                                                                                            | '--branch'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--origin'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--recurse-submodules'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--separate-git-dir'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--shallow-exclude'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--shallow-since'
                                                                                                                                                                                                                                                                                                                                                                                                            | '--template',
                                                                                                                                                                                                                                                                                                                                                                                                            string
                                                                                                                                                                                                                                                                                                                                                                                                            >;

                                                                                                                                                                                                                                                                                                                                                                                                              type CommitSummary

                                                                                                                                                                                                                                                                                                                                                                                                              type CommitSummary = CommitResult;
                                                                                                                                                                                                                                                                                                                                                                                                              • Deprecated

                                                                                                                                                                                                                                                                                                                                                                                                                For consistent naming, please use CommitResult instead of CommitSummary

                                                                                                                                                                                                                                                                                                                                                                                                              type ListLogSummary

                                                                                                                                                                                                                                                                                                                                                                                                              type ListLogSummary<T = DefaultLogFields> = LogResult<T>;
                                                                                                                                                                                                                                                                                                                                                                                                              • Deprecated

                                                                                                                                                                                                                                                                                                                                                                                                                to aid consistent naming, please use LogResult instead of ListLogSummary.

                                                                                                                                                                                                                                                                                                                                                                                                              type LogOptions

                                                                                                                                                                                                                                                                                                                                                                                                              type LogOptions<T = DefaultLogFields> = {
                                                                                                                                                                                                                                                                                                                                                                                                              file?: string;
                                                                                                                                                                                                                                                                                                                                                                                                              format?: T;
                                                                                                                                                                                                                                                                                                                                                                                                              from?: string;
                                                                                                                                                                                                                                                                                                                                                                                                              mailMap?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                              maxCount?: number;
                                                                                                                                                                                                                                                                                                                                                                                                              multiLine?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                              splitter?: string;
                                                                                                                                                                                                                                                                                                                                                                                                              strictDate?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                              symmetric?: boolean;
                                                                                                                                                                                                                                                                                                                                                                                                              to?: string;
                                                                                                                                                                                                                                                                                                                                                                                                              };

                                                                                                                                                                                                                                                                                                                                                                                                                type MergeResult

                                                                                                                                                                                                                                                                                                                                                                                                                type MergeResult = PullResult & MergeDetail;

                                                                                                                                                                                                                                                                                                                                                                                                                  type MergeResultStatus

                                                                                                                                                                                                                                                                                                                                                                                                                  type MergeResultStatus = 'success' | string;

                                                                                                                                                                                                                                                                                                                                                                                                                    type MergeSummary

                                                                                                                                                                                                                                                                                                                                                                                                                    type MergeSummary = MergeResult;
                                                                                                                                                                                                                                                                                                                                                                                                                    • Deprecated

                                                                                                                                                                                                                                                                                                                                                                                                                      For consistent naming, please use MergeResult instead of MergeSummary

                                                                                                                                                                                                                                                                                                                                                                                                                    type MoveSummary

                                                                                                                                                                                                                                                                                                                                                                                                                    type MoveSummary = MoveResult;

                                                                                                                                                                                                                                                                                                                                                                                                                      type Options

                                                                                                                                                                                                                                                                                                                                                                                                                      type Options = Record<string, OptionsValues>;

                                                                                                                                                                                                                                                                                                                                                                                                                        type outputHandler

                                                                                                                                                                                                                                                                                                                                                                                                                        type outputHandler = (
                                                                                                                                                                                                                                                                                                                                                                                                                        command: string,
                                                                                                                                                                                                                                                                                                                                                                                                                        stdout: NodeJS.ReadableStream,
                                                                                                                                                                                                                                                                                                                                                                                                                        stderr: NodeJS.ReadableStream,
                                                                                                                                                                                                                                                                                                                                                                                                                        args: string[]
                                                                                                                                                                                                                                                                                                                                                                                                                        ) => void;
                                                                                                                                                                                                                                                                                                                                                                                                                        • A function called by the executor immediately after creating a child process. Allows the calling application to implement custom handling of the incoming stream of data from the git.

                                                                                                                                                                                                                                                                                                                                                                                                                        type ResetOptions

                                                                                                                                                                                                                                                                                                                                                                                                                        type ResetOptions = Options &
                                                                                                                                                                                                                                                                                                                                                                                                                        OptionFlags<'-q' | '--quiet' | '--no-quiet' | '--pathspec-from-nul'> &
                                                                                                                                                                                                                                                                                                                                                                                                                        OptionFlags<'--pathspec-from-file', string>;

                                                                                                                                                                                                                                                                                                                                                                                                                          type Response

                                                                                                                                                                                                                                                                                                                                                                                                                          type Response<T> = SimpleGit & Promise<T>;

                                                                                                                                                                                                                                                                                                                                                                                                                            type SimpleGitTaskCallback

                                                                                                                                                                                                                                                                                                                                                                                                                            type SimpleGitTaskCallback<T = string, E extends GitError = GitError> = (
                                                                                                                                                                                                                                                                                                                                                                                                                            err: E | null,
                                                                                                                                                                                                                                                                                                                                                                                                                            data: T
                                                                                                                                                                                                                                                                                                                                                                                                                            ) => void;
                                                                                                                                                                                                                                                                                                                                                                                                                            • The node-style callback to a task accepts either two arguments with the first as a null and the second as the data, or just one argument which is an error.

                                                                                                                                                                                                                                                                                                                                                                                                                            type TaskOptions

                                                                                                                                                                                                                                                                                                                                                                                                                            type TaskOptions<O extends Options = Options> = string[] | O;
                                                                                                                                                                                                                                                                                                                                                                                                                            • Most tasks accept custom options as an array of strings as well as the options object. Unless the task is explicitly documented as such, the tasks will not accept both formats at the same time, preferring whichever appears last in the arguments.

                                                                                                                                                                                                                                                                                                                                                                                                                            Package Files (23)

                                                                                                                                                                                                                                                                                                                                                                                                                            Dependencies (3)

                                                                                                                                                                                                                                                                                                                                                                                                                            Dev Dependencies (10)

                                                                                                                                                                                                                                                                                                                                                                                                                            Peer Dependencies (0)

                                                                                                                                                                                                                                                                                                                                                                                                                            No peer dependencies.

                                                                                                                                                                                                                                                                                                                                                                                                                            Badge

                                                                                                                                                                                                                                                                                                                                                                                                                            To add a badge like this onejsDocs.io badgeto your package's README, use the codes available below.

                                                                                                                                                                                                                                                                                                                                                                                                                            You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/simple-git.

                                                                                                                                                                                                                                                                                                                                                                                                                            • Markdown
                                                                                                                                                                                                                                                                                                                                                                                                                              [![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/simple-git)
                                                                                                                                                                                                                                                                                                                                                                                                                            • HTML
                                                                                                                                                                                                                                                                                                                                                                                                                              <a href="https://www.jsdocs.io/package/simple-git"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>