///
import { EventEmitter } from 'events';
export interface IGitOptions {
dir: string;
}
export declare class Git extends EventEmitter {
protected options: IGitOptions;
protected dir: string;
constructor(options: IGitOptions);
protected gitExec(cmd: string): Promise;
protected getDiffFileList(diffOptions?: string): Promise;
init(): Promise;
setDir(dir: string): void;
clone(repository: string, dest: string, options?: {
depth?: number;
}): Promise;
checkout(branchName: string): Promise;
updateSubmodules(init?: boolean, recursive?: boolean): Promise;
commit(message: string, all?: boolean): Promise;
pull(remote?: string, options?: {
branch?: string;
rebase?: boolean;
}): Promise;
push(remote?: string): Promise;
add(): Promise;
addRemote(name: string, url: string): Promise;
setRemote(name: string, url: string): Promise;
merge(branchName: string, mergeOptions?: string): Promise;
fetch(): Promise;
reset(): Promise;
getHash(fileName: string): Promise;
diffMaster(fileName: string): Promise;
getBranchName(): Promise;
createBranch(branchName: string): Promise;
deleteBranch(branchName: string): Promise;
getDiffByRevisionFileList(revision: string): Promise;
getConflictList(): Promise;
getUncommittedList(): Promise;
getLastChanges(): Promise;
removeLocalBranch(branchName: string): Promise;
removeRemoteBranch(branchName: string): Promise;
getLocalBranchList(): Promise;
getRemoteBranchList(): Promise;
getRemotes(): Promise;
getRemoteUrl(name: string): Promise;
getTimeOfLastCommit(branchName: string): Promise;
getHashOfLastCommit(branchName: string): Promise;
}