# Package org.eclipse.jgit.api

High-level API commands (the porcelain of JGit).

Interface Summary
ArchiveCommand.Format<T extends Closeable>: Archival format.
RebaseCommand.InteractiveHandler: Allows configure rebase interactive process and modify commit message
TransportConfigCallback: Receives a callback allowing type-specific configuration to be set on the Transport instance after it's been created.

Class Summary
AddCommand: A class used to execute a `Add` command.
AddNoteCommand: Add object notes.
ApplyCommand: Apply a patch to files and/or to the index.
ApplyResult: Encapsulates the result of a `ApplyCommand`
ArchiveCommand: Create an archive of files from a named tree.
BlameCommand: Blame command for building a `BlameResult` for a file path.
CheckoutCommand: Checkout a branch to the working tree.
CheckoutResult: Encapsulates the result of a `CheckoutCommand`
CherryPickCommand: A class used to execute a `cherry-pick` command.
CherryPickResult: Encapsulates the result of a `CherryPickCommand`.
CleanCommand: Remove untracked files from the working tree
CloneCommand: Clone a repository into a new working directory
CommitCommand: A class used to execute a `Commit` command.
CreateBranchCommand: Used to create a local branch.
DeleteBranchCommand: Used to delete one or several branches.
DeleteTagCommand: Used to delete one or several tags.
DescribeCommand: Given a commit, show the most recent tag that is reachable from a commit.
DiffCommand: Show changes between commits, commit and working tree, etc.
FetchCommand: A class used to execute a `Fetch` command.
GarbageCollectCommand: A class used to execute a `gc` command.
Git: Offers a "GitPorcelain"-like API to interact with a git repository.
GitCommand<T>: Common superclass of all commands in the package `org.eclipse.jgit.api`
InitCommand: Create an empty git repository or reinitalize an existing one
ListBranchCommand: Used to obtain a list of branches.
ListNotesCommand: List object notes.
ListTagCommand: Used to obtain a list of tags.
LogCommand: A class used to execute a `Log` command.
LsRemoteCommand: The ls-remote command
MergeCommand: A class used to execute a `Merge` command.
MergeResult: Encapsulates the result of a `MergeCommand`.
NameRevCommand: Command to find human-readable names of revisions.
PullCommand: The Pull command
PullResult: Encapsulates the result of a `PullCommand`
PushCommand: A class used to execute a `Push` command.
RebaseCommand: A class used to execute a `Rebase` command.
RebaseResult: The result of a `RebaseCommand` execution
ReflogCommand: The reflog command
RemoveNoteCommand: Remove object notes.
RenameBranchCommand: Used to rename branches.
ResetCommand: A class used to execute a `Reset` command.
RevertCommand: A class used to execute a `revert` command.
RmCommand: Remove files from the index and working directory (or optionally only from the index).
ShowNoteCommand: Show an object note.
StashApplyCommand: Command class to apply a stashed commit.
StashCreateCommand: Command class to stash changes in the working directory and index in a commit.
StashDropCommand: Command class to delete a stashed commit reference
StashListCommand: Command class to list the stashed commits in a repository.
Status: A class telling where the working-tree, the index and the current HEAD differ from each other.
StatusCommand: A class used to execute a `Status` command.
SubmoduleAddCommand: A class used to execute a submodule add command.
SubmoduleInitCommand: A class used to execute a submodule init command.
SubmoduleStatusCommand: A class used to execute a submodule status command.
SubmoduleSyncCommand: A class used to execute a submodule sync command.
SubmoduleUpdateCommand: A class used to execute a submodule update command.
TagCommand: Create/update an annotated tag object or a simple unannotated tag
TransportCommand<C extends GitCommand,​T>: Base class for commands that use a `Transport` during execution.

Enum Summary
CheckoutCommand.Stage: Stage to check out, see `CheckoutCommand.setStage(Stage)`.
CheckoutResult.Status: The status
CherryPickResult.CherryPickStatus: The cherry-pick status
CreateBranchCommand.SetupUpstreamMode: The modes available for setting up the upstream configuration (corresponding to the --set-upstream, --track, --no-track options
ListBranchCommand.ListMode: The modes available for listing branches (corresponding to the -r and -a options)
MergeCommand.FastForwardMode: The modes available for fast forward merges corresponding to the `--ff`, `--no-ff` and `--ff-only` options under `branch.<name>.mergeoptions`.
MergeCommand.FastForwardMode.Merge: The modes available for fast forward merges corresponding to the options under `merge.ff`.
MergeResult.MergeStatus: The status the merge resulted in.
RebaseCommand.Operation: The available operations
RebaseResult.Status: The overall status
ResetCommand.ResetType: Kind of reset

Exception Summary
ArchiveCommand.UnsupportedFormatException: Signals an attempt to use an archival format that ArchiveCommand doesn't know about (for example due to a typo).