Skip to content

git

git documentation

footman._stubs.git.Git

Bases: Tool

__call__

__call__(
    *args: str,
    attr_source: _Value = ...,
    bare: _Flag = ...,
    config_env: _Value = ...,
    exec_path: _ValuedFlag = ...,
    git_dir: _Value = ...,
    glob_pathspecs: _Flag = ...,
    html_path: _Flag = ...,
    icase_pathspecs: _Flag = ...,
    info_path: _Flag = ...,
    list_cmds: _Value = ...,
    literal_pathspecs: _Flag = ...,
    man_path: _Flag = ...,
    namespace: _Value = ...,
    no_advice: _Flag = ...,
    no_lazy_fetch: _Flag = ...,
    no_optional_locks: _Flag = ...,
    no_pager: _Flag = ...,
    no_replace_objects: _Flag = ...,
    noglob_pathspecs: _Flag = ...,
    paginate: _Flag = ...,
    work_tree: _Value = ...,
    **flags: Any,
) -> Result

[--exec-path[=]][--html-path] [--man-path][--info-path]

Parameters:

Name Type Description Default
attr_source _Value

Read gitattributes from instead of the worktree.

...
bare _Flag

Treat the repository as a bare repository.

...
config_env _Value

Like -c =, give configuration variable a value, where is the name of an environment variable from which to retrieve the value.

...
exec_path _ValuedFlag

Path to wherever your core Git programs are installed. Value optional: True for the bare flag, or pass one.

...
git_dir _Value

Set the path to the repository (".git" directory).

...
glob_pathspecs _Flag

Add "glob" magic to all pathspec.

...
html_path _Flag

Print the path, without trailing slash, where Git's HTML documentation is installed and exit.

...
icase_pathspecs _Flag

Add "icase" magic to all pathspec.

...
info_path _Flag

Print the path where the Info files documenting this version of Git are installed and exit.

...
list_cmds _Value

List commands by group.

...
literal_pathspecs _Flag

Treat pathspecs literally (i.e.

...
man_path _Flag

Print the manpath (see man(1)) for the man pages for this version of Git and exit.

...
namespace _Value

Set the Git namespace.

...
no_advice _Flag

Disable all advice hints from being printed.

...
no_lazy_fetch _Flag

Do not fetch missing objects from the promisor remote on demand.

...
no_optional_locks _Flag

Do not perform optional operations that require locks.

...
no_pager _Flag

Do not pipe Git output into a pager.

...
no_replace_objects _Flag

Do not use replacement refs to replace Git objects.

...
noglob_pathspecs _Flag

Add "literal" magic to all pathspec.

...
paginate _Flag

Pipe all output into less (or if set, $PAGER) if standard output is a terminal.

...
work_tree _Value

Set the path to the working tree.

...

add

add(
    *args: str,
    all: _Flag = ...,
    chmod: _Flag = ...,
    dry_run: _Flag = ...,
    edit: _Flag = ...,
    force: _Flag = ...,
    ignore_errors: _Flag = ...,
    ignore_missing: _Flag = ...,
    intent_to_add: _Flag = ...,
    inter_hunk_context: _Value = ...,
    interactive: _Flag = ...,
    no_warn_embedded_repo: _Flag = ...,
    patch: _Flag = ...,
    pathspec_file_nul: _Flag = ...,
    pathspec_from_file: _Value = ...,
    refresh: _Flag = ...,
    renormalize: _Flag = ...,
    sparse: _Flag = ...,
    unified: _Value = ...,
    update: _Flag = ...,
    verbose: _Flag = ...,
    **flags: Any,
) -> Result

GIT-ADD(1) Git Manual GIT-ADD(1)

Parameters:

Name Type Description Default
all _Flag

Update the index not only where the working tree has a file matching but also where the index already has an entry. all=off emits --ignore-removal.

...
chmod _Flag

Override the executable bit of the added files.

...
dry_run _Flag

Don't actually add the file(s), just show if they exist and/or will be ignored.

...
edit _Flag

Open the diff vs. the index in an editor and let the user edit it.

...
force _Flag

Allow adding otherwise ignored files.

...
ignore_errors _Flag

If some files could not be added because of errors indexing them, do not abort the operation, but continue adding the others.

...
ignore_missing _Flag

This option can only be used together with --dry-run.

...
intent_to_add _Flag

Record only the fact that the path will be added later.

...
inter_hunk_context _Value

Show the context between diff hunks, up to the specified of lines, thereby fusing hunks that are close to each other.

...
interactive _Flag

Add modified contents in the working tree interactively to the index.

...
no_warn_embedded_repo _Flag

By default, git add will warn when adding an embedded repository to the index without using git submodule add to create an entry in .gitmodules.

...
patch _Flag

Interactively choose hunks of patch between the index and the work tree and add them to the index.

...
pathspec_file_nul _Flag

Only meaningful with --pathspec-from-file.

...
pathspec_from_file _Value

Pathspec is passed in instead of commandline args.

...
refresh _Flag

Don't add the file(s), but only refresh their stat() information in the index.

...
renormalize _Flag

Apply the "clean" process freshly to all tracked files to forcibly add them again to the index.

...
sparse _Flag

Allow updating index entries outside of the sparse-checkout cone.

...
unified _Value

Generate diffs with lines of context.

...
update _Flag

Update the index just where it already has an entry matching .

...
verbose _Flag

Be verbose.

...

branch

branch(
    *args: str,
    abbrev: _Value = ...,
    all: _Flag = ...,
    color: _ValuedFlag = ...,
    column: _ValuedFlag = ...,
    contains: _Value = ...,
    copy: _Flag = ...,
    create_reflog: _Flag = ...,
    delete: _Flag = ...,
    edit_description: _Flag = ...,
    force: _Flag = ...,
    format: _Value = ...,
    ignore_case: _Flag = ...,
    list: _Flag = ...,
    merged: _Value = ...,
    move: _Flag = ...,
    no_abbrev: _Flag = ...,
    no_color: _Flag = ...,
    no_contains: _Value = ...,
    no_merged: _Value = ...,
    no_track: _Flag = ...,
    omit_empty: _Flag = ...,
    points_at: _Value = ...,
    quiet: _Flag = ...,
    recurse_submodules: _Flag = ...,
    remotes: _Flag = ...,
    set_upstream: _Flag = ...,
    set_upstream_to: _Value = ...,
    show_current: _Flag = ...,
    sort: _Value = ...,
    track: _ValuedFlag = ...,
    unset_upstream: _Flag = ...,
    verbose: _Flag = ...,
    **flags: Any,
) -> Result

GIT-BRANCH(1) Git Manual GIT-BRANCH(1)

Parameters:

Name Type Description Default
abbrev _Value

In the verbose listing that show the commit object name, show the shortest prefix that is at least hexdigits long that uniquely refers the object.

...
all _Flag

List both remote-tracking branches and local branches.

...
color _ValuedFlag

Color branches to highlight current, local, and remote-tracking branches. Value optional: True for the bare flag, or pass one.

...
column _ValuedFlag

Display branch listing in columns. Value optional: True for the bare flag, or pass one.

...
contains _Value

Only list branches which contain (HEAD if not specified).

...
copy _Flag

Copy a branch, together with its config and reflog.

...
create_reflog _Flag

Create the branch's reflog.

...
delete _Flag

Delete a branch.

...
edit_description _Flag

Open an editor and edit the text to explain what the branch is for, to be used by various other commands (e.g.

...
force _Flag

Reset to , even if exists already.

...
format _Value

A string that interpolates %(fieldname) from a branch ref being shown and the object it points at.

...
ignore_case _Flag

Sorting and filtering branches are case insensitive.

...
list _Flag

List branches.

...
merged _Value

Only list branches whose tips are reachable from (HEAD if not specified).

...
move _Flag

Move/rename a branch, together with its config and reflog.

...
no_abbrev _Flag

Display the full sha1s in the output listing rather than abbreviating them.

...
no_color _Flag

Turn off branch colors, even when the configuration file gives the default to color output.

...
no_contains _Value

Only list branches which don't contain (HEAD if not specified).

...
no_merged _Value

Only list branches whose tips are not reachable from (HEAD if not specified).

...
no_track _Flag

Do not set up "upstream" configuration, even if the branch.autoSetupMerge configuration variable is set.

...
omit_empty _Flag

Do not print a newline after formatted refs where the format expands to the empty string.

...
points_at _Value

Only list branches of .

...
quiet _Flag

Be more quiet when creating or deleting a branch, suppressing non-error messages.

...
recurse_submodules _Flag

THIS OPTION IS EXPERIMENTAL! Cause the current command to recurse into submodules if submodule.propagateBranches is enabled.

...
remotes _Flag

List or delete (if used with -d) the remote-tracking branches.

...
set_upstream _Flag

As this option had confusing syntax, it is no longer supported.

...
set_upstream_to _Value

Set up 's tracking information so is considered 's upstream branch.

...
show_current _Flag

Print the name of the current branch.

...
sort _Value

Sort based on .

...
track _ValuedFlag

When creating a new branch, set up branch..remote and branch..merge configuration entries to set "upstream" tracking configuration for the new branch. Value optional: True for the bare flag, or pass one.

...
unset_upstream _Flag

Remove the upstream information for .

...
verbose _Flag

When in list mode, show sha1 and commit subject line for each head, along with relationship to upstream branch (if any).

...

checkout

checkout(
    *args: str,
    conflict: _Value = ...,
    detach: _Flag = ...,
    force: _Flag = ...,
    guess: _Flag = ...,
    ignore_other_worktrees: _Flag = ...,
    ignore_skip_worktree_bits: _Flag = ...,
    inter_hunk_context: _Value = ...,
    merge: _Flag = ...,
    no_track: _Flag = ...,
    orphan: _Value = ...,
    ours: _Flag = ...,
    overlay: _Flag = ...,
    overwrite_ignore: _Flag = ...,
    patch: _Flag = ...,
    pathspec_file_nul: _Flag = ...,
    pathspec_from_file: _Value = ...,
    progress: _Flag = ...,
    quiet: _Flag = ...,
    recurse_submodules: _Flag = ...,
    track: _ValuedFlag = ...,
    unified: _Value = ...,
    **flags: Any,
) -> Result

GIT-CHECKOUT(1) Git Manual GIT-CHECKOUT(1)

Parameters:

Name Type Description Default
conflict _Value

The same as --merge option above, but changes the way the conflicting hunks are presented, overriding the merge.conflictStyle configuration variable.

...
detach _Flag

Rather than checking out a branch to work on it, check out a commit for inspection and discardable experiments.

...
force _Flag

When switching branches, proceed even if the index or the working tree differs from HEAD, and even if there are untracked files in the way.

...
guess _Flag

If is not found but there does exist a tracking branch in exactly one remote (call it ) with a matching name, treat as equivalent to $ git checkout -b --track / If the branch exists in multiple remotes and one of them is named by the checkout.defaultRemote configuration variable, we'll use that one for the purposes of disambiguation, even if the isn't unique across all remotes. guess=off emits --no-guess.

...
ignore_other_worktrees _Flag

git checkout refuses when the wanted branch is already checked out or otherwise in use by another worktree.

...
ignore_skip_worktree_bits _Flag

In sparse checkout mode, git checkout -- .

...
inter_hunk_context _Value

Show the context between diff hunks, up to the specified of lines, thereby fusing hunks that are close to each other.

...
merge _Flag

When switching branches, if you have local modifications to one or more files that are different between the current branch and the branch to which you are switching, the command refuses to switch branches in order to preserve your modifications in context.

...
no_track _Flag

Do not set up "upstream" configuration, even if the branch.autoSetupMerge configuration variable is true.

...
orphan _Value

Create a new unborn branch, named , started from and switch to it.

...
ours _Flag

When checking out paths from the index, check out stage #2 (ours) or #3 (theirs) for unmerged paths.

...
overlay _Flag

In the default overlay mode, git checkout never removes files from the index or the working tree.

...
overwrite_ignore _Flag

Silently overwrite ignored files when switching branches.

...
pathspec_file_nul _Flag

Only meaningful with --pathspec-from-file.

...
pathspec_from_file _Value

Replace the specified files and/or directories with the version from the given commit or tree and add them to the index (also known as "staging area").

...
progress _Flag

Progress status is reported on the standard error stream by default when it is attached to a terminal, unless --quiet is specified.

...
quiet _Flag

Quiet, suppress feedback messages.

...
recurse_submodules _Flag

Using --recurse-submodules will update the content of all active submodules according to the commit recorded in the superproject.

...
track _ValuedFlag

When creating a new branch, set up "upstream" configuration. Value optional: True for the bare flag, or pass one.

...
unified _Value

Generate diffs with lines of context.

...

clone

clone(
    repository: str,
    /,
    *args: str,
    also_filter_submodules: _Flag = ...,
    bare: _Flag = ...,
    branch: _Value = ...,
    bundle_uri: _Value = ...,
    config: _Value = ...,
    depth: _Value = ...,
    dissociate: _Flag = ...,
    filter: _Value = ...,
    jobs: _Value = ...,
    local: _Flag = ...,
    mirror: _Flag = ...,
    no_checkout: _Flag = ...,
    no_hardlinks: _Flag = ...,
    no_reject_shallow: _Flag = ...,
    origin: _Value = ...,
    progress: _Flag = ...,
    quiet: _Flag = ...,
    recurse_submodules: _ValuedFlag = ...,
    ref_format: _Value = ...,
    reference: _Value = ...,
    remote_submodules: _Flag = ...,
    revision: _Value = ...,
    separate_git_dir: _Value = ...,
    server_option: _Value = ...,
    shallow_exclude: _Value = ...,
    shallow_since: _Value = ...,
    shallow_submodules: _Flag = ...,
    shared: _Flag = ...,
    single_branch: _Flag = ...,
    sparse: _Flag = ...,
    tags: _Flag = ...,
    template: _Value = ...,
    upload_pack: _Value = ...,
    verbose: _Flag = ...,
    **flags: Any,
) -> Result

GIT-CLONE(1) Git Manual GIT-CLONE(1)

Parameters:

Name Type Description Default
also_filter_submodules _Flag

Also apply the partial clone filter to any submodules in the repository.

...
bare _Flag

Make a bare Git repository.

...
branch _Value

Point the newly created HEAD to branch instead of the branch pointed to by the cloned repository's HEAD.

...
bundle_uri _Value

Before fetching from the remote, fetch a bundle from the given and unbundle the data into the local repository.

...
config _Value

Set a configuration variable in the newly-created repository; this takes effect immediately after the repository is initialized, but before the remote history is fetched or any files checked out.

...
depth _Value

Create a shallow clone with a history truncated to the specified number of commits.

...
dissociate _Flag

Borrow the objects from reference repositories specified with the --reference options only to reduce network transfer, and stop borrowing from them after a clone is made by making necessary local copies of borrowed objects.

...
filter _Value

Use the partial clone feature and request that the server sends a subset of reachable objects according to a given object filter.

...
jobs _Value

The number of submodules fetched at the same time.

...
local _Flag

When the repository to clone from is on a local machine, this flag bypasses the normal "Git aware" transport mechanism and clones the repository by making a copy of HEAD and everything under objects and refs directories.

...
mirror _Flag

Set up a mirror of the source repository.

...
no_checkout _Flag

Do not checkout HEAD after the clone is complete.

...
no_hardlinks _Flag

Force the cloning process from a repository on a local filesystem to copy the files under the .git/objects directory instead of using hardlinks.

...
no_reject_shallow _Flag

Fail if the source repository is a shallow repository.

...
origin _Value

Instead of using the remote name origin to keep track of the upstream repository, use .

...
progress _Flag

Report progress status on the standard error stream by default when attached to a terminal, unless --quiet is specified.

...
quiet _Flag

Operate quietly.

...
recurse_submodules _ValuedFlag

After the clone is created, initialize and clone submodules within based on the provided . Value optional: True for the bare flag, or pass one.

...
ref_format _Value

Specify the given ref storage format for the repository.

...
reference _Value

If the reference is on the local machine, automatically setup .git/objects/info/alternates to obtain objects from the reference .

...
remote_submodules _Flag

All submodules which are cloned will use the status of the submodule's remote-tracking branch to update the submodule, rather than the superproject's recorded SHA-1.

...
revision _Value

Create a new repository, and fetch the history leading to the given revision (and nothing else), without making any remote-tracking branch, and without making any local branch, and detach HEAD to .

...
separate_git_dir _Value

Instead of placing the cloned repository where it is supposed to be, place the cloned repository at the specified directory, then make a filesystem-agnostic Git symbolic link to there.

...
server_option _Value

Transmit the given string to the server when communicating using protocol version 2.

...
shallow_exclude _Value

Create a shallow clone with a history, excluding commits reachable from a specified remote branch or tag. May be repeated: a list emits the flag once per item.

...
shallow_since _Value

Create a shallow clone with a history after the specified time.

...
shallow_submodules _Flag

All submodules which are cloned will be shallow with a depth of 1.

...
shared _Flag

When the repository to clone is on the local machine, instead of using hard links, automatically setup .git/objects/info/alternates to share the objects with the source repository.

...
single_branch _Flag

Clone only the history leading to the tip of a single branch, either specified by the --branch option or the primary branch remote's HEAD points at.

...
sparse _Flag

Employ a sparse-checkout, with only files in the toplevel directory initially being present.

...
tags _Flag

Control whether or not tags will be cloned.

...
template _Value

Specify the directory from which templates will be used; (See the "TEMPLATE DIRECTORY" section of git-init(1).).

...
upload_pack _Value

Specify a non-default path for the command run on the other end when the repository to clone from is accessed via ssh.

...
verbose _Flag

Run verbosely.

...

commit

commit(
    *args: str,
    all: _Flag = ...,
    allow_empty: _Flag = ...,
    allow_empty_message: _Flag = ...,
    amend: _Flag = ...,
    author: _Value = ...,
    branch: _Flag = ...,
    cleanup: _Value = ...,
    date: _Value = ...,
    dry_run: _Flag = ...,
    edit: _Flag = ...,
    file: _Value = ...,
    fixup: _Value = ...,
    gpg_sign: _ValuedFlag = ...,
    include: _Flag = ...,
    inter_hunk_context: _Value = ...,
    interactive: _Flag = ...,
    long: _Flag = ...,
    message: _Value = ...,
    no_post_rewrite: _Flag = ...,
    null: _Flag = ...,
    only: _Flag = ...,
    patch: _Flag = ...,
    pathspec_file_nul: _Flag = ...,
    pathspec_from_file: _Value = ...,
    porcelain: _Flag = ...,
    quiet: _Flag = ...,
    reedit_message: _Value = ...,
    reset_author: _Flag = ...,
    reuse_message: _Value = ...,
    short: _Flag = ...,
    signoff: _Flag = ...,
    squash: _Value = ...,
    status: _Flag = ...,
    template: _Value = ...,
    trailer: _Value = ...,
    unified: _Value = ...,
    untracked_files: _ValuedFlag = ...,
    verbose: _Flag = ...,
    verify: _Flag = ...,
    **flags: Any,
) -> Result

GIT-COMMIT(1) Git Manual GIT-COMMIT(1)

Parameters:

Name Type Description Default
all _Flag

Automatically stage files that have been modified and deleted, but new files you have not told Git about are not affected.

...
allow_empty _Flag

Usually recording a commit that has the exact same tree as its sole parent commit is a mistake, and the command prevents you from making such a commit.

...
allow_empty_message _Flag

Create a commit with an empty commit message without using plumbing commands like git-commit-tree(1).

...
amend _Flag

Replace the tip of the current branch by creating a new commit.

...
author _Value

Override the commit author.

...
branch _Flag

Show the branch and tracking info even in short-format.

...
cleanup _Value

Determine how the supplied commit message should be cleaned up before committing.

...
date _Value

Override the author date used in the commit.

...
dry_run _Flag

Do not create a commit, but show a list of paths that are to be committed, paths with local changes that will be left uncommitted and paths that are untracked.

...
edit _Flag

Let the user further edit the message taken from with -F , command line with -m , and from with -C . edit=off emits --no-edit.

...
file _Value

Take the commit message from .

...
fixup _Value

Create a new commit which "fixes up" when applied with git rebase --autosquash. May be repeated: a list emits the flag once per item.

...
gpg_sign _ValuedFlag

GPG-sign commits. Value optional: True for the bare flag, or pass one.

...
include _Flag

Before making a commit out of staged contents so far, stage the contents of paths given on the command line as well.

...
inter_hunk_context _Value

Show the context between diff hunks, up to the specified of lines, thereby fusing hunks that are close to each other.

...
long _Flag

When doing a dry-run, give the output in the long-format.

...
message _Value

Use as the commit message.

...
no_post_rewrite _Flag

Bypass the post-rewrite hook.

...
null _Flag

When showing short or porcelain git-status(1) output, print the filename verbatim and terminate the entries with NUL, instead of LF.

...
only _Flag

Make a commit by taking the updated working tree contents of the paths specified on the command line, disregarding any contents that have been staged for other paths.

...
patch _Flag

Use the interactive patch selection interface to choose which changes to commit.

...
pathspec_file_nul _Flag

Only meaningful with --pathspec-from-file.

...
pathspec_from_file _Value

Pass pathspec in instead of commandline args.

...
porcelain _Flag

When doing a dry-run, give the output in a porcelain-ready format.

...
quiet _Flag

Suppress commit summary message.

...
reedit_message _Value

Like -C, but with -c the editor is invoked, so that the user can further edit the commit message.

...
reset_author _Flag

When used with -C/-c/--amend options, or when committing after a conflicting cherry-pick, declare that the authorship of the resulting commit now belongs to the committer.

...
reuse_message _Value

Take an existing object, and reuse the log message and the authorship information (including the timestamp) when creating the commit.

...
short _Flag

When doing a dry-run, give the output in the short-format.

...
signoff _Flag

Add a Signed-off-by trailer by the committer at the end of the commit log message.

...
squash _Value

Construct a commit message for use with git rebase --autosquash. May be repeated: a list emits the flag once per item.

...
status _Flag

Include the output of git-status(1) in the commit message template when using an editor to prepare the commit message. status=off emits --no-status.

...
template _Value

When editing the commit message, start the editor with the contents in . May be repeated: a list emits the flag once per item.

...
trailer _Value

Specify a (, ) pair that should be applied as a trailer. May be repeated: a list emits the flag once per item.

...
unified _Value

Generate diffs with lines of context.

...
untracked_files _ValuedFlag

Show untracked files. Value optional: True for the bare flag, or pass one.

...
verbose _Flag

Show unified diff between the HEAD commit and what would be committed at the bottom of the commit message template to help the user describe the commit by reminding what changes the commit has.

...
verify _Flag

Bypass the pre-commit and commit-msg hooks.

...

describe

describe(
    *args: str,
    abbrev: _Value = ...,
    all: _Flag = ...,
    always: _Flag = ...,
    candidates: _Value = ...,
    contains: _Flag = ...,
    debug: _Flag = ...,
    dirty: _ValuedFlag = ...,
    exact_match: _Flag = ...,
    exclude: _Value = ...,
    first_parent: _Flag = ...,
    long: _Flag = ...,
    match: _Value = ...,
    tag: _Flag = ...,
    tags: _Flag = ...,
    **flags: Any,
) -> Result

GIT-DESCRIBE(1) Git Manual GIT-DESCRIBE(1)

Parameters:

Name Type Description Default
abbrev _Value

Instead of using the default number of hexadecimal digits (which will vary according to the number of objects in the repository with a default of 7) of the abbreviated object name, use digits, or as many digits as needed to form a unique object name.

...
all _Flag

Instead of using only the annotated tags, use any ref found in refs/ namespace.

...
always _Flag

Show uniquely abbreviated commit object as fallback.

...
candidates _Value

Instead of considering only the 10 most recent tags as candidates to describe the input commit-ish consider up to candidates.

...
contains _Flag

Instead of finding the tag that predates the commit, find the tag that comes after the commit, and thus contains it.

...
debug _Flag

Verbosely display information about the searching strategy being employed to standard error.

...
dirty _ValuedFlag

Describe the state of the working tree. Value optional: True for the bare flag, or pass one.

...
exact_match _Flag

Only output exact matches (a tag directly references the supplied commit).

...
exclude _Value

Do not consider tags matching the given glob(7) pattern, excluding the "refs/tags/" prefix.

...
first_parent _Flag

Follow only the first parent commit upon seeing a merge commit.

...
long _Flag

Always output the long format (the tag, the number of commits and the abbreviated commit name) even when it matches a tag.

...
match _Value

Only consider tags matching the given glob(7) pattern, excluding the "refs/tags/" prefix.

...
tags _Flag

Instead of using only the annotated tags, use any tag found in refs/tags namespace.

...

diff

diff(
    *args: str,
    abbrev: _ValuedFlag = ...,
    anchored: _Value = ...,
    base: _Flag = ...,
    binary: _Flag = ...,
    break_rewrites: _ValuedFlag = ...,
    check: _Flag = ...,
    color: _ValuedFlag = ...,
    color_moved: _ValuedFlag = ...,
    color_moved_ws: _Value = ...,
    color_words: _ValuedFlag = ...,
    compact_summary: _Flag = ...,
    cumulative: _Flag = ...,
    default_prefix: _Flag = ...,
    diff_algorithm: _Flag = ...,
    diff_filter: _Value = ...,
    dirstat: _ValuedFlag = ...,
    dirstat_by_file: _ValuedFlag = ...,
    dst_prefix: _Value = ...,
    exit_code: _Flag = ...,
    ext_diff: _Flag = ...,
    find_copies: _ValuedFlag = ...,
    find_copies_harder: _Flag = ...,
    find_object: _Value = ...,
    find_renames: _ValuedFlag = ...,
    full_index: _Flag = ...,
    function_context: _Flag = ...,
    histogram: _Flag = ...,
    ignore_all_space: _Flag = ...,
    ignore_blank_lines: _Flag = ...,
    ignore_cr_at_eol: _Flag = ...,
    ignore_matching_lines: _Value = ...,
    ignore_space_at_eol: _Flag = ...,
    ignore_space_change: _Flag = ...,
    ignore_submodules: _ValuedFlag = ...,
    indent_heuristic: _Flag = ...,
    inter_hunk_context: _Value = ...,
    irreversible_delete: _Flag = ...,
    ita_invisible_in_index: _Flag = ...,
    line_prefix: _Value = ...,
    max_depth: _Value = ...,
    merge_base: _Flag = ...,
    minimal: _Flag = ...,
    name_only: _Flag = ...,
    name_status: _Flag = ...,
    no_color: _Flag = ...,
    no_color_moved: _Flag = ...,
    no_color_moved_ws: _Flag = ...,
    no_prefix: _Flag = ...,
    no_renames: _Flag = ...,
    numstat: _Flag = ...,
    output: _Value = ...,
    output_indicator_context: _Value = ...,
    output_indicator_new: _Value = ...,
    patch: _Flag = ...,
    patch_with_raw: _Flag = ...,
    patch_with_stat: _Flag = ...,
    patience: _Flag = ...,
    pickaxe_all: _Flag = ...,
    pickaxe_regex: _Flag = ...,
    quiet: _Flag = ...,
    raw: _Flag = ...,
    relative: _ValuedFlag = ...,
    rename_empty: _Flag = ...,
    shortstat: _Flag = ...,
    skip_to: _Value = ...,
    src_prefix: _Value = ...,
    stat: _ValuedFlag = ...,
    static: _Flag = ...,
    submodule: _ValuedFlag = ...,
    summary: _Flag = ...,
    text: _Flag = ...,
    textconv: _Flag = ...,
    unified: _Value = ...,
    word_diff: _ValuedFlag = ...,
    word_diff_regex: _Value = ...,
    ws_error_highlight: _Value = ...,
    **flags: Any,
) -> Result

GIT-DIFF(1) Git Manual GIT-DIFF(1)

Parameters:

Name Type Description Default
abbrev _ValuedFlag

Instead of showing the full 40-byte hexadecimal object name in diff-raw format output and diff-tree header lines, show the shortest prefix that is at least hexdigits long that uniquely refers the object. Value optional: True for the bare flag, or pass one.

...
anchored _Value

Generate a diff using the "anchored diff" algorithm. May be repeated: a list emits the flag once per item.

...
base _Flag

Compare the working tree with • the "base" version (stage #1) when using -1 or --base, • "our branch" (stage #2) when using -2 or --ours, or • "their branch" (stage #3) when using -3 or --theirs.

...
binary _Flag

In addition to --full-index, output a binary diff that can be applied with git-apply.

...
break_rewrites _ValuedFlag

Break complete rewrite changes into pairs of delete and create. Value optional: True for the bare flag, or pass one.

...
check _Flag

Warn if changes introduce conflict markers or whitespace errors.

...
color _ValuedFlag

Show colored diff. Value optional: True for the bare flag, or pass one.

...
color_moved _ValuedFlag

Moved lines of code are colored differently. Value optional: True for the bare flag, or pass one.

...
color_moved_ws _Value

This configures how whitespace is ignored when performing the move detection for --color-moved. May be repeated: a list emits the flag once per item.

...
color_words _ValuedFlag

Equivalent to --word-diff=color plus (if a regex was specified) --word-diff-regex=. Value optional: True for the bare flag, or pass one.

...
compact_summary _Flag

Output a condensed summary of extended header information such as file creations or deletions ("new" or "gone", optionally +l if it's a symlink) and mode changes (+x or -x for adding or removing executable bit respectively) in diffstat.

...
cumulative _Flag

Synonym for --dirstat=cumulative.

...
default_prefix _Flag

Use the default source and destination prefixes ("a/" and "b/").

...
diff_algorithm _Flag

Choose a diff algorithm.

...
diff_filter _Value

Select only files that are Added (A), Copied (C), Deleted (D), Modified (M), Renamed (R), have their type (i.e. May be repeated: a list emits the flag once per item.

...
dirstat _ValuedFlag

Output the distribution of relative amount of changes for each sub-directory. Value optional: True for the bare flag, or pass one.

...
dirstat_by_file _ValuedFlag

Synonym for --dirstat=files,,. Value optional: True for the bare flag, or pass one.

...
dst_prefix _Value

Show the given destination instead of "b/".

...
exit_code _Flag

Make the program exit with codes similar to diff(1).

...
ext_diff _Flag

Allow an external diff helper to be executed. ext_diff=off emits --no-ext-diff.

...
find_copies _ValuedFlag

Detect copies as well as renames. Value optional: True for the bare flag, or pass one.

...
find_copies_harder _Flag

For performance reasons, by default, -C option finds copies only if the original file of the copy was modified in the same changeset.

...
find_object _Value

Look for differences that change the number of occurrences of the specified object.

...
find_renames _ValuedFlag

Detect renames. Value optional: True for the bare flag, or pass one.

...
full_index _Flag

Instead of the first handful of characters, show the full pre- and post-image blob object names on the "index" line when generating patch format output.

...
function_context _Flag

Show whole function as context lines for each change.

...
histogram _Flag

Generate a diff using the "histogram diff" algorithm.

...
ignore_all_space _Flag

Ignore whitespace when comparing lines.

...
ignore_blank_lines _Flag

Ignore changes whose lines are all blank.

...
ignore_cr_at_eol _Flag

Ignore carriage-return at the end of line when doing a comparison.

...
ignore_matching_lines _Value

Ignore changes whose all lines match . May be repeated: a list emits the flag once per item.

...
ignore_space_at_eol _Flag

Ignore changes in whitespace at EOL.

...
ignore_space_change _Flag

Ignore changes in amount of whitespace.

...
ignore_submodules _ValuedFlag

Ignore changes to submodules in the diff generation. Value optional: True for the bare flag, or pass one.

...
indent_heuristic _Flag

Enable the heuristic that shifts diff hunk boundaries to make patches easier to read. indent_heuristic=off emits --no-indent-heuristic.

...
inter_hunk_context _Value

Show the context between diff hunks, up to the specified of lines, thereby fusing hunks that are close to each other.

...
irreversible_delete _Flag

Omit the preimage for deletes, i.e. print only the header but not the diff between the preimage and /dev/null.

...
ita_invisible_in_index _Flag

By default entries added by git add -N appear as an existing empty file in git diff and a new file in git diff --cached.

...
line_prefix _Value

Prepend an additional to every line of output.

...
max_depth _Value

For each pathspec given on command line, descend at most levels of directories.

...
minimal _Flag

Spend extra time to make sure the smallest possible diff is produced.

...
name_only _Flag

Show only the name of each changed file in the post-image tree.

...
name_status _Flag

Show only the name(s) and status of each changed file.

...
no_color _Flag

Turn off colored diff.

...
no_color_moved _Flag

Turn off move detection.

...
no_color_moved_ws _Flag

Do not ignore whitespace when performing move detection.

...
no_prefix _Flag

Do not show any source or destination prefix.

...
no_renames _Flag

Turn off rename detection, even when the configuration file gives the default to do so.

...
numstat _Flag

Similar to --stat, but shows number of added and deleted lines in decimal notation and pathname without abbreviation, to make it more machine friendly.

...
output _Value

Output to a specific file instead of stdout.

...
output_indicator_context _Value

Specify the character used to indicate new, old or context lines in the generated patch.

...
patch _Flag

Generate patch (see the section called "GENERATING PATCH TEXT WITH -P"). patch=off emits --no-patch.

...
patch_with_raw _Flag

Synonym for -p --raw.

...
patch_with_stat _Flag

Synonym for -p --stat.

...
patience _Flag

Generate a diff using the "patience diff" algorithm.

...
pickaxe_all _Flag

When -S or -G finds a change, show all the changes in that changeset, not just the files that contain the change in .

...
pickaxe_regex _Flag

Treat the given to -S as an extended POSIX regular expression to match.

...
quiet _Flag

Disable all output of the program.

...
raw _Flag

Generate the diff in raw format.

...
relative _ValuedFlag

When run from a subdirectory of the project, it can be told to exclude changes outside the directory and show pathnames relative to it with this option. Value optional: True for the bare flag, or pass one.

...
rename_empty _Flag

Whether to use empty blobs as rename source.

...
shortstat _Flag

Output only the last line of the --stat format containing total number of modified files, as well as number of added and deleted lines.

...
skip_to _Value

Discard the files before the named from the output (i.e.

...
src_prefix _Value

Show the given source instead of "a/".

...
stat _ValuedFlag

Generate a diffstat. Value optional: True for the bare flag, or pass one.

...
submodule _ValuedFlag

Specify how differences in submodules are shown. Value optional: True for the bare flag, or pass one.

...
summary _Flag

Output a condensed summary of extended header information such as creations, renames and mode changes.

...
text _Flag

Treat all files as text.

...
textconv _Flag

Allow (or disallow) external text conversion filters to be run when comparing binary files.

...
unified _Value

Generate diffs with lines of context.

...
word_diff _ValuedFlag

By default, words are delimited by whitespace; see --word-diff-regex below. Value optional: True for the bare flag, or pass one.

...
word_diff_regex _Value

Use to decide what a word is, instead of considering runs of non-whitespace to be a word.

...
ws_error_highlight _Value

Highlight whitespace errors in the context, old or new lines of the diff.

...

fetch

fetch(
    *args: str,
    all: _Flag = ...,
    append: _Flag = ...,
    atomic: _Flag = ...,
    auto_maintenance: _Flag = ...,
    deepen: _Value = ...,
    depth: _Value = ...,
    dry_run: _Flag = ...,
    filter: _Value = ...,
    force: _Flag = ...,
    ipv4: _Flag = ...,
    ipv6: _Flag = ...,
    jobs: _Value = ...,
    keep: _Flag = ...,
    multiple: _Flag = ...,
    negotiate_only: _Flag = ...,
    negotiation_include: _Flag = ...,
    negotiation_restrict: _Flag = ...,
    negotiation_tip: _Flag = ...,
    no_recurse_submodules: _Flag = ...,
    porcelain: _Flag = ...,
    prefetch: _Flag = ...,
    progress: _Flag = ...,
    prune: _Flag = ...,
    prune_tags: _Flag = ...,
    quiet: _Flag = ...,
    recurse_submodules: _ValuedFlag = ...,
    recurse_submodules_default: _Flag = ...,
    refetch: _Flag = ...,
    refmap: _Value = ...,
    server_option: _Value = ...,
    set_upstream: _Flag = ...,
    shallow_exclude: _Value = ...,
    shallow_since: _Value = ...,
    show_forced_updates: _Flag = ...,
    stdin: _Flag = ...,
    submodule_prefix: _Value = ...,
    tags: _Flag = ...,
    unshallow: _Flag = ...,
    update_head_ok: _Flag = ...,
    update_shallow: _Flag = ...,
    upload_pack: _Value = ...,
    verbose: _Flag = ...,
    write_commit_graph: _Flag = ...,
    write_fetch_head: _Flag = ...,
    **flags: Any,
) -> Result

GIT-FETCH(1) Git Manual GIT-FETCH(1)

Parameters:

Name Type Description Default
all _Flag

Fetch all remotes, except for the ones that have the remote..skipFetchAll configuration variable set.

...
append _Flag

Append ref names and object names of fetched refs to the existing contents of .git/FETCH_HEAD.

...
atomic _Flag

Use an atomic transaction to update local refs.

...
auto_maintenance _Flag

Run git maintenance run --auto at the end to perform automatic repository maintenance if needed.

...
deepen _Value

Similar to --depth, except it specifies the number of commits from the current shallow boundary instead of from the tip of each remote branch history.

...
depth _Value

Limit fetching to the specified number of commits from the tip of each remote branch history.

...
dry_run _Flag

Show what would be done, without making any changes.

...
filter _Value

Use the partial clone feature and request that the server sends a subset of reachable objects according to a given object filter.

...
force _Flag

When git fetch is used with : refspec, it may refuse to update the local branch as discussed in the part below.

...
ipv4 _Flag

Use IPv4 addresses only, ignoring IPv6 addresses.

...
ipv6 _Flag

Use IPv6 addresses only, ignoring IPv4 addresses.

...
jobs _Value

Parallelize all forms of fetching up to jobs at a time.

...
keep _Flag

Keep downloaded pack.

...
multiple _Flag

Allow several and arguments to be specified.

...
negotiate_only _Flag

Do not fetch anything from the server, and instead print the ancestors of the provided --negotiation-restrict= arguments, which we have in common with the server.

...
negotiation_include _Flag

Ensure that the commits at the given tips are always sent as "have" lines during fetch negotiation, regardless of what the negotiation algorithm selects.

...
negotiation_tip _Flag

By default, Git will report, to the server, commits reachable from all local refs to find common commits in an attempt to reduce the size of the to-be-received packfile.

...
no_recurse_submodules _Flag

Disable recursive fetching of submodules (this has the same effect as using the --recurse-submodules=no option).

...
porcelain _Flag

Print the output to standard output in an easy-to-parse format for scripts.

...
prefetch _Flag

Modify the configured refspec to place all refs into the refs/prefetch/ namespace.

...
progress _Flag

Progress status is reported on the standard error stream by default when it is attached to a terminal, unless -q is specified.

...
prune _Flag

Before fetching, remove any remote-tracking references that no longer exist on the remote.

...
prune_tags _Flag

Before fetching, remove any local tags that no longer exist on the remote if --prune is enabled.

...
quiet _Flag

Pass --quiet to git-fetch-pack and silence any other internally used git commands.

...
recurse_submodules _ValuedFlag

Control if and under what conditions new commits of submodules should be fetched too. Value optional: True for the bare flag, or pass one.

...
recurse_submodules_default _Flag

This option is used internally to temporarily provide a non-negative default value for the --recurse-submodules option.

...
refetch _Flag

Instead of negotiating with the server to avoid transferring commits and associated objects that are already present locally, this option fetches all objects as a fresh clone would.

...
refmap _Value

When fetching refs listed on the command line, use the specified refspec (can be given more than once) to map the refs to remote-tracking branches, instead of the values of remote..fetch configuration variables for the remote repository. May be repeated: a list emits the flag once per item.

...
server_option _Value

Transmit the given string to the server when communicating using protocol version 2.

...
set_upstream _Flag

If the remote is fetched successfully, add upstream (tracking) reference, used by argument-less git-pull(1) and other commands.

...
shallow_exclude _Value

Deepen or shorten the history of a shallow repository to exclude commits reachable from a specified remote branch or tag. May be repeated: a list emits the flag once per item.

...
shallow_since _Value

Deepen or shorten the history of a shallow repository to include all reachable commits after .

...
show_forced_updates _Flag

By default, git checks if a branch is force-updated during fetch. show_forced_updates=off emits --no-show-forced-updates.

...
stdin _Flag

Read refspecs, one per line, from stdin in addition to those provided as arguments.

...
submodule_prefix _Value

Prepend to paths printed in informative messages such as "Fetching submodule foo".

...
tags _Flag

Fetch all tags from the remote (i.e., fetch remote tags refs/tags/* into local tags with the same name), in addition to whatever else would otherwise be fetched. tags=off emits --no-tags.

...
unshallow _Flag

If the source repository is complete, convert a shallow repository to a complete one, removing all the limitations imposed by shallow repositories.

...
update_head_ok _Flag

By default git fetch refuses to update the head which corresponds to the current branch.

...
update_shallow _Flag

By default when fetching from a shallow repository, git fetch refuses refs that require updating .git/shallow.

...
upload_pack _Value

When given, and the repository to fetch from is handled by git fetch-pack, --exec= is passed to the command to specify non-default path for the command run on the other end.

...
verbose _Flag

Be verbose.

...
write_commit_graph _Flag

Write a commit-graph after fetching.

...
write_fetch_head _Flag

Write the list of remote refs fetched in the FETCH_HEAD file directly under $GIT_DIR.

...

flags

flags(
    *,
    attr_source: _Value = ...,
    bare: _Flag = ...,
    config_env: _Value = ...,
    exec_path: _ValuedFlag = ...,
    git_dir: _Value = ...,
    glob_pathspecs: _Flag = ...,
    html_path: _Flag = ...,
    icase_pathspecs: _Flag = ...,
    info_path: _Flag = ...,
    list_cmds: _Value = ...,
    literal_pathspecs: _Flag = ...,
    man_path: _Flag = ...,
    namespace: _Value = ...,
    no_advice: _Flag = ...,
    no_lazy_fetch: _Flag = ...,
    no_optional_locks: _Flag = ...,
    no_pager: _Flag = ...,
    no_replace_objects: _Flag = ...,
    noglob_pathspecs: _Flag = ...,
    paginate: _Flag = ...,
    work_tree: _Value = ...,
    **flags: Any,
) -> Git

Bind tool-level global options before the subcommand.

tools.docker.flags(host=...) puts a tool's own options ahead of the verb, where they belong.

init

init(
    *args: str,
    bare: _Flag = ...,
    initial_branch: _Value = ...,
    object_format: _Value = ...,
    quiet: _Flag = ...,
    ref_format: _Value = ...,
    separate_git_dir: _Value = ...,
    shared: _ValuedFlag = ...,
    template: _Value = ...,
    **flags: Any,
) -> Result

GIT-INIT(1) Git Manual GIT-INIT(1)

Parameters:

Name Type Description Default
bare _Flag

Create a bare repository.

...
initial_branch _Value

Use for the initial branch in the newly created repository.

...
object_format _Value

Specify the given object (hash algorithm) for the repository.

...
quiet _Flag

Only print error and warning messages; all other output will be suppressed.

...
ref_format _Value

Specify the given ref storage for the repository.

...
separate_git_dir _Value

Instead of initializing the repository as a directory to either $GIT_DIR or ./.git/, create a text file there containing the path to the actual repository.

...
shared _ValuedFlag

Specify that the Git repository is to be shared amongst several users. Value optional: True for the bare flag, or pass one.

...
template _Value

Specify the directory from which templates will be used.

...

log

log(
    *args: str,
    abbrev: _ValuedFlag = ...,
    abbrev_commit: _Flag = ...,
    all: _Flag = ...,
    all_match: _Flag = ...,
    alternate_refs: _Flag = ...,
    ancestry_path: _ValuedFlag = ...,
    anchored: _Value = ...,
    author: _Value = ...,
    author_date_order: _Flag = ...,
    basic_regexp: _Flag = ...,
    binary: _Flag = ...,
    bisect: _Flag = ...,
    boundary: _Flag = ...,
    branches: _ValuedFlag = ...,
    break_rewrites: _ValuedFlag = ...,
    cc: _Flag = ...,
    check: _Flag = ...,
    cherry: _Flag = ...,
    cherry_mark: _Flag = ...,
    cherry_pick: _Flag = ...,
    children: _Flag = ...,
    clear_decorations: _Flag = ...,
    color: _ValuedFlag = ...,
    color_moved: _ValuedFlag = ...,
    color_moved_ws: _Value = ...,
    color_words: _ValuedFlag = ...,
    combined_all_paths: _Flag = ...,
    commit_list_format: _Flag = ...,
    compact_summary: _Flag = ...,
    cumulative: _Flag = ...,
    date: _Value = ...,
    date_order: _Flag = ...,
    dd: _Flag = ...,
    decorate: _Flag = ...,
    decorate_refs: _Value = ...,
    default_prefix: _Flag = ...,
    dense: _Flag = ...,
    diff_algorithm: _Flag = ...,
    diff_filter: _Value = ...,
    diff_merges: _Value = ...,
    dirstat: _ValuedFlag = ...,
    dirstat_by_file: _ValuedFlag = ...,
    do_walk: _Flag = ...,
    dst_prefix: _Value = ...,
    encoding: _Value = ...,
    exclude: _Value = ...,
    exclude_first_parent_only: _Flag = ...,
    exclude_hidden: _Flag = ...,
    expand_tabs: _Value = ...,
    ext_diff: _Flag = ...,
    extended_regexp: _Flag = ...,
    find_copies: _ValuedFlag = ...,
    find_copies_harder: _Flag = ...,
    find_object: _Value = ...,
    find_renames: _ValuedFlag = ...,
    first_parent: _Flag = ...,
    fixed_strings: _Flag = ...,
    follow: _Flag = ...,
    full_diff: _Flag = ...,
    full_history: _Flag = ...,
    full_index: _Flag = ...,
    function_context: _Flag = ...,
    glob: _Value = ...,
    graph: _Flag = ...,
    graph_lane_limit: _Value = ...,
    grep: _Value = ...,
    grep_reflog: _Value = ...,
    histogram: _Flag = ...,
    ignore_all_space: _Flag = ...,
    ignore_blank_lines: _Flag = ...,
    ignore_cr_at_eol: _Flag = ...,
    ignore_matching_lines: _Value = ...,
    ignore_missing: _Flag = ...,
    ignore_space_at_eol: _Flag = ...,
    ignore_space_change: _Flag = ...,
    ignore_submodules: _ValuedFlag = ...,
    indent_heuristic: _Flag = ...,
    inter_hunk_context: _Value = ...,
    invert_grep: _Flag = ...,
    irreversible_delete: _Flag = ...,
    ita_invisible_in_index: _Flag = ...,
    left_only: _Flag = ...,
    left_right: _Flag = ...,
    line_prefix: _Value = ...,
    log_size: _Flag = ...,
    mailmap: _Flag = ...,
    max_count_oldest: _Value = ...,
    max_depth: _Value = ...,
    maximal_only: _Flag = ...,
    merge: _Flag = ...,
    merges: _Flag = ...,
    min_parents: _Value = ...,
    minimal: _Flag = ...,
    name_only: _Flag = ...,
    name_status: _Flag = ...,
    no_color: _Flag = ...,
    no_color_moved: _Flag = ...,
    no_color_moved_ws: _Flag = ...,
    no_diff_merges: _Flag = ...,
    no_max_parents: _Flag = ...,
    no_notes: _Flag = ...,
    no_prefix: _Flag = ...,
    no_renames: _Flag = ...,
    no_walk: _ValuedFlag = ...,
    not_: _Flag = ...,
    notes: _ValuedFlag = ...,
    numstat: _Flag = ...,
    oneline: _Flag = ...,
    output: _Value = ...,
    output_indicator_context: _Value = ...,
    output_indicator_new: _Value = ...,
    parents: _Flag = ...,
    patch: _Flag = ...,
    patch_with_raw: _Flag = ...,
    patch_with_stat: _Flag = ...,
    patience: _Flag = ...,
    perl_regexp: _Flag = ...,
    pickaxe_all: _Flag = ...,
    pickaxe_regex: _Flag = ...,
    pretty: _ValuedFlag = ...,
    raw: _Flag = ...,
    reflog: _Flag = ...,
    regexp_ignore_case: _Flag = ...,
    relative: _ValuedFlag = ...,
    relative_date: _Flag = ...,
    remerge_diff: _Flag = ...,
    remotes: _ValuedFlag = ...,
    remove_empty: _Flag = ...,
    rename_empty: _Flag = ...,
    reverse: _Flag = ...,
    shortstat: _Flag = ...,
    show_linear_break: _ValuedFlag = ...,
    show_notes: _ValuedFlag = ...,
    show_notes_by_default: _Flag = ...,
    show_pulls: _Flag = ...,
    show_signature: _Flag = ...,
    simplify_by_decoration: _Flag = ...,
    simplify_merges: _Flag = ...,
    since: _Value = ...,
    since_as_filter: _Value = ...,
    single_worktree: _Flag = ...,
    skip: _Value = ...,
    skip_to: _Value = ...,
    source: _Flag = ...,
    sparse: _Flag = ...,
    src_prefix: _Value = ...,
    stat: _ValuedFlag = ...,
    static: _Flag = ...,
    stdin: _Flag = ...,
    submodule: _ValuedFlag = ...,
    summary: _Flag = ...,
    tags: _ValuedFlag = ...,
    text: _Flag = ...,
    textconv: _Flag = ...,
    topo_order: _Flag = ...,
    unified: _Value = ...,
    until: _Value = ...,
    walk_reflogs: _Flag = ...,
    word_diff: _ValuedFlag = ...,
    word_diff_regex: _Value = ...,
    ws_error_highlight: _Value = ...,
    **flags: Any,
) -> Result

GIT-LOG(1) Git Manual GIT-LOG(1)

Parameters:

Name Type Description Default
abbrev _ValuedFlag

Instead of showing the full 40-byte hexadecimal object name in diff-raw format output and diff-tree header lines, show the shortest prefix that is at least hexdigits long that uniquely refers the object. Value optional: True for the bare flag, or pass one.

...
abbrev_commit _Flag

Instead of showing the full 40-byte hexadecimal commit object name, show a prefix that names the object uniquely. abbrev_commit=off emits --no-abbrev-commit.

...
all _Flag

Pretend as if all the refs in refs/, along with HEAD, are listed on the command line as .

...
all_match _Flag

Limit the commits output to ones that match all given --grep, instead of ones that match at least one.

...
alternate_refs _Flag

Pretend as if all objects mentioned as ref tips of alternate repositories were listed on the command line.

...
ancestry_path _ValuedFlag

When given a range of commits to display (e.g. Value optional: True for the bare flag, or pass one.

...
anchored _Value

Generate a diff using the "anchored diff" algorithm. May be repeated: a list emits the flag once per item.

...
author _Value

Limit the commits output to ones with author/committer header lines that match the regular expression.

...
author_date_order _Flag

Show no parents before all of its children are shown, but otherwise show commits in the author timestamp order.

...
basic_regexp _Flag

Consider the limiting patterns to be basic regular expressions; this is the default.

...
binary _Flag

In addition to --full-index, output a binary diff that can be applied with git-apply.

...
bisect _Flag

Pretend as if the bad bisection ref refs/bisect/bad was listed and as if it was followed by --not and the good bisection refs refs/bisect/good-* on the command line.

...
boundary _Flag

Output excluded boundary commits.

...
branches _ValuedFlag

Pretend as if all the refs in refs/heads are listed on the command line as . Value optional: True for the bare flag, or pass one.

...
break_rewrites _ValuedFlag

Break complete rewrite changes into pairs of delete and create. Value optional: True for the bare flag, or pass one.

...
check _Flag

Warn if changes introduce conflict markers or whitespace errors.

...
cherry _Flag

A synonym for --right-only --cherry-mark --no-merges; useful to limit the output to the commits on our side and mark those that have been applied to the other side of a forked history with git log --cherry upstream...mybranch, similar to git cherry upstream mybranch.

...
cherry_mark _Flag

Like --cherry-pick (see below) but mark equivalent commits with = rather than omitting them, and inequivalent ones with +.

...
cherry_pick _Flag

Omit any commit that introduces the same change as another commit on the "other side" when the set of commits are limited with symmetric difference.

...
children _Flag

Print also the children of the commit (in the form "commit child...").

...
clear_decorations _Flag

When specified, this option clears all previous --decorate-refs or --decorate-refs-exclude options and relaxes the default decoration filter to include all references.

...
color _ValuedFlag

Show colored diff. Value optional: True for the bare flag, or pass one.

...
color_moved _ValuedFlag

Moved lines of code are colored differently. Value optional: True for the bare flag, or pass one.

...
color_moved_ws _Value

This configures how whitespace is ignored when performing the move detection for --color-moved. May be repeated: a list emits the flag once per item.

...
color_words _ValuedFlag

Equivalent to --word-diff=color plus (if a regex was specified) --word-diff-regex=. Value optional: True for the bare flag, or pass one.

...
combined_all_paths _Flag

Cause combined diffs (used for merge commits) to list the name of the file from all parents.

...
compact_summary _Flag

Output a condensed summary of extended header information such as file creations or deletions ("new" or "gone", optionally +l if it's a symlink) and mode changes (+x or -x for adding or removing executable bit respectively) in diffstat.

...
cumulative _Flag

Synonym for --dirstat=cumulative.

...
date _Value

Only takes effect for dates shown in human-readable format, such as when using --pretty.

...
date_order _Flag

Show no parents before all of its children are shown, but otherwise show commits in the commit timestamp order.

...
dd _Flag

Produce diff with respect to first parent for both merge and regular commits.

...
decorate _Flag

. decorate=off emits --no-decorate.

...
decorate_refs _Value

For each candidate reference, do not use it for decoration if it matches any of the parameters given to --decorate-refs-exclude or if it doesn't match any of the parameters given to --decorate-refs.

...
default_prefix _Flag

Use the default source and destination prefixes ("a/" and "b/").

...
dense _Flag

Only the selected commits are shown, plus some to have a meaningful history.

...
diff_algorithm _Flag

Choose a diff algorithm.

...
diff_filter _Value

Select only files that are Added (A), Copied (C), Deleted (D), Modified (M), Renamed (R), have their type (i.e. May be repeated: a list emits the flag once per item.

...
diff_merges _Value

Specify diff format to be used for merge commits.

...
dirstat _ValuedFlag

Output the distribution of relative amount of changes for each sub-directory. Value optional: True for the bare flag, or pass one.

...
dirstat_by_file _ValuedFlag

Synonym for --dirstat=files,,. Value optional: True for the bare flag, or pass one.

...
do_walk _Flag

Overrides a previous --no-walk.

...
dst_prefix _Value

Show the given destination instead of "b/".

...
encoding _Value

Commit objects record the character encoding used for the log message in their encoding header; this option can be used to tell the command to re-code the commit log message in the encoding preferred by the user. May be repeated: a list emits the flag once per item.

...
exclude _Value

Do not include refs matching that the next --all, --branches, --tags, --remotes, or --glob would otherwise consider.

...
exclude_first_parent_only _Flag

When finding commits to exclude (with a ^), follow only the first parent commit upon seeing a merge commit.

...
exclude_hidden _Flag

Do not include refs that would be hidden by git-fetch, git-receive-pack or git-upload-pack by consulting the appropriate fetch.hideRefs, receive.hideRefs or uploadpack.hideRefs configuration along with transfer.hideRefs (see git-config(1)).

...
expand_tabs _Value

Perform a tab expansion (replace each tab with enough spaces to fill to the next display column that is a multiple of ) in the log message before showing it in the output.

...
ext_diff _Flag

Allow an external diff helper to be executed. ext_diff=off emits --no-ext-diff.

...
extended_regexp _Flag

Consider the limiting patterns to be extended regular expressions instead of the default basic regular expressions.

...
find_copies _ValuedFlag

Detect copies as well as renames. Value optional: True for the bare flag, or pass one.

...
find_copies_harder _Flag

For performance reasons, by default, -C option finds copies only if the original file of the copy was modified in the same changeset.

...
find_object _Value

Look for differences that change the number of occurrences of the specified object.

...
find_renames _ValuedFlag

If generating diffs, detect and report renames for each commit. Value optional: True for the bare flag, or pass one.

...
first_parent _Flag

When finding commits to include, follow only the first parent commit upon seeing a merge commit.

...
fixed_strings _Flag

Consider the limiting patterns to be fixed strings (don't interpret pattern as a regular expression).

...
follow _Flag

Continue listing the history of a file beyond renames (works only for a single file).

...
full_diff _Flag

Without this flag, git log -p .

...
full_history _Flag

Same as the default mode, but does not prune some history.

...
full_index _Flag

Instead of the first handful of characters, show the full pre- and post-image blob object names on the "index" line when generating patch format output.

...
function_context _Flag

Show whole function as context lines for each change.

...
glob _Value

Pretend as if all the refs matching shell glob are listed on the command line as .

...
graph _Flag

Draw a text-based graphical representation of the commit history on the left hand side of the output.

...
graph_lane_limit _Value

When --graph is used, limit the number of graph lanes to be shown.

...
grep_reflog _Value

Limit the commits output to ones with reflog entries that match the regular expression.

...
histogram _Flag

Generate a diff using the "histogram diff" algorithm.

...
ignore_all_space _Flag

Ignore whitespace when comparing lines.

...
ignore_blank_lines _Flag

Ignore changes whose lines are all blank.

...
ignore_cr_at_eol _Flag

Ignore carriage-return at the end of line when doing a comparison.

...
ignore_matching_lines _Value

Ignore changes whose all lines match . May be repeated: a list emits the flag once per item.

...
ignore_missing _Flag

Upon seeing an invalid object name in the input, pretend as if the bad input was not given.

...
ignore_space_at_eol _Flag

Ignore changes in whitespace at EOL.

...
ignore_space_change _Flag

Ignore changes in amount of whitespace.

...
ignore_submodules _ValuedFlag

Ignore changes to submodules in the diff generation. Value optional: True for the bare flag, or pass one.

...
indent_heuristic _Flag

Enable the heuristic that shifts diff hunk boundaries to make patches easier to read. indent_heuristic=off emits --no-indent-heuristic.

...
inter_hunk_context _Value

Show the context between diff hunks, up to the specified of lines, thereby fusing hunks that are close to each other.

...
invert_grep _Flag

Limit the commits output to ones with a log message that do not match the specified with --grep=.

...
irreversible_delete _Flag

Omit the preimage for deletes, i.e. print only the header but not the diff between the preimage and /dev/null.

...
ita_invisible_in_index _Flag

By default entries added by git add -N appear as an existing empty file in git diff and a new file in git diff --cached.

...
left_only _Flag

List only commits on the respective side of a symmetric difference, i.e. only those which would be marked < resp.

...
left_right _Flag

Mark which side of a symmetric difference a commit is reachable from.

...
line_prefix _Value

Prepend an additional to every line of output.

...
log_size _Flag

Include a line log size in the output for each commit, where is the length of that commit's message in bytes.

...
mailmap _Flag

Use mailmap file to map author and committer names and email addresses to canonical real names and email addresses.

...
max_count_oldest _Value

Limit the output to the last commits that would be shown.

...
max_depth _Value

For each pathspec given on command line, descend at most levels of directories.

...
maximal_only _Flag

Restrict the output commits to be those that are not reachable from any other commits in the revision range.

...
merge _Flag

Show commits touching conflicted paths in the range HEAD..., where is the first existing pseudoref in MERGE_HEAD, CHERRY_PICK_HEAD, REVERT_HEAD or REBASE_HEAD.

...
merges _Flag

Print only merge commits. merges=off emits --no-merges.

...
minimal _Flag

Spend extra time to make sure the smallest possible diff is produced.

...
name_only _Flag

Show only the name of each changed file in the post-image tree.

...
name_status _Flag

Show only the name(s) and status of each changed file.

...
no_color _Flag

Turn off colored diff.

...
no_color_moved _Flag

Turn off move detection.

...
no_color_moved_ws _Flag

Do not ignore whitespace when performing move detection.

...
no_diff_merges _Flag

Synonym for --diff-merges=off.

...
no_max_parents _Flag

Show only commits which have at least (or at most) that many parent commits.

...
no_notes _Flag

Do not show notes.

...
no_prefix _Flag

Do not show any source or destination prefix.

...
no_renames _Flag

Turn off rename detection, even when the configuration file gives the default to do so.

...
no_walk _ValuedFlag

Only show the given commits, but do not traverse their ancestors. Value optional: True for the bare flag, or pass one.

...
not_ _Flag

Reverses the meaning of the ^ prefix (or lack thereof) for all following revision specifiers, up to the next --not.

...
notes _ValuedFlag

Show the notes (see git-notes(1)) that annotate the commit, when showing the commit log message. Value optional: True for the bare flag, or pass one.

...
numstat _Flag

Similar to --stat, but shows number of added and deleted lines in decimal notation and pathname without abbreviation, to make it more machine friendly.

...
oneline _Flag

This is a shorthand for --pretty=oneline --abbrev-commit used together.

...
output _Value

Output to a specific file instead of stdout.

...
output_indicator_context _Value

Specify the character used to indicate new, old or context lines in the generated patch.

...
patch _Flag

Generate patch (see the section called "GENERATING PATCH TEXT WITH -P"). patch=off emits --no-patch.

...
patch_with_raw _Flag

Synonym for -p --raw.

...
patch_with_stat _Flag

Synonym for -p --stat.

...
patience _Flag

Generate a diff using the "patience diff" algorithm.

...
perl_regexp _Flag

Consider the limiting patterns to be Perl-compatible regular expressions.

...
pickaxe_all _Flag

When -S or -G finds a change, show all the changes in that changeset, not just the files that contain the change in .

...
pickaxe_regex _Flag

Treat the given to -S as an extended POSIX regular expression to match.

...
pretty _ValuedFlag

Pretty-print the contents of the commit logs in a given format, where can be one of oneline, short, medium, full, fuller, reference, email, raw, format: and tformat:. Value optional: True for the bare flag, or pass one.

...
raw _Flag

For each commit, show a summary of changes using the raw diff format.

...
reflog _Flag

Pretend as if all objects mentioned by reflogs are listed on the command line as .

...
regexp_ignore_case _Flag

Match the regular expression limiting patterns without regard to letter case.

...
relative _ValuedFlag

When run from a subdirectory of the project, it can be told to exclude changes outside the directory and show pathnames relative to it with this option. Value optional: True for the bare flag, or pass one.

...
relative_date _Flag

Synonym for --date=relative.

...
remerge_diff _Flag

Produce remerge-diff output for merge commits.

...
remotes _ValuedFlag

Pretend as if all the refs in refs/remotes are listed on the command line as . Value optional: True for the bare flag, or pass one.

...
remove_empty _Flag

Stop when a given path disappears from the tree.

...
rename_empty _Flag

Whether to use empty blobs as rename source.

...
reverse _Flag

Output the commits chosen to be shown (see Commit Limiting section above) in reverse order.

...
shortstat _Flag

Output only the last line of the --stat format containing total number of modified files, as well as number of added and deleted lines.

...
show_linear_break _ValuedFlag

When --graph is not used, all history branches are flattened which can make it hard to see that the two consecutive commits do not belong to a linear branch. Value optional: True for the bare flag, or pass one.

...
show_notes _ValuedFlag

These options are deprecated. Value optional: True for the bare flag, or pass one.

...
show_notes_by_default _Flag

Show the default notes unless options for displaying specific notes are given.

...
show_pulls _Flag

Include all commits from the default mode, but also any merge commits that are not TREESAME to the first parent but are TREESAME to a later parent.

...
show_signature _Flag

Check the validity of a signed commit object by passing the signature to gpg --verify and show the output.

...
simplify_by_decoration _Flag

Commits that are referred by some branch or tag are selected.

...
simplify_merges _Flag

Additional option to --full-history to remove some needless merges from the resulting history, as there are no selected commits contributing to this merge.

...
since_as_filter _Value

Show all commits more recent than .

...
single_worktree _Flag

By default, all working trees will be examined by the following options when there are more than one (see git-worktree(1)): --all, --reflog and --indexed-objects.

...
skip _Value

Skip commits before starting to show the commit output.

...
skip_to _Value

Discard the files before the named from the output (i.e.

...
source _Flag

Print out the ref name given on the command line by which each commit was reached.

...
sparse _Flag

All commits in the simplified history are shown.

...
src_prefix _Value

Show the given source instead of "a/".

...
stat _ValuedFlag

Generate a diffstat. Value optional: True for the bare flag, or pass one.

...
stdin _Flag

In addition to getting arguments from the command line, read them from standard input as well.

...
submodule _ValuedFlag

Specify how differences in submodules are shown. Value optional: True for the bare flag, or pass one.

...
summary _Flag

Output a condensed summary of extended header information such as creations, renames and mode changes.

...
tags _ValuedFlag

Pretend as if all the refs in refs/tags are listed on the command line as . Value optional: True for the bare flag, or pass one.

...
text _Flag

Treat all files as text.

...
textconv _Flag

Allow (or disallow) external text conversion filters to be run when comparing binary files.

...
topo_order _Flag

Show no parents before all of its children are shown, and avoid showing commits on multiple lines of history intermixed.

...
unified _Value

Generate diffs with lines of context.

...
until _Value

Show commits older than .

...
walk_reflogs _Flag

Instead of walking the commit ancestry chain, walk reflog entries from the most recent one to older ones.

...
word_diff _ValuedFlag

By default, words are delimited by whitespace; see --word-diff-regex below. Value optional: True for the bare flag, or pass one.

...
word_diff_regex _Value

Use to decide what a word is, instead of considering runs of non-whitespace to be a word.

...
ws_error_highlight _Value

Highlight whitespace errors in the context, old or new lines of the diff.

...

pull

pull(
    *args: str,
    all: _Flag = ...,
    allow_unrelated_histories: _Flag = ...,
    append: _Flag = ...,
    atomic: _Flag = ...,
    autostash: _Flag = ...,
    cleanup: _Value = ...,
    commit: _Flag = ...,
    compact_summary: _Flag = ...,
    deepen: _Value = ...,
    depth: _Value = ...,
    diff_algorithm: _Flag = ...,
    dry_run: _Flag = ...,
    edit: _Flag = ...,
    ff: _Flag = ...,
    ff_only: _Flag = ...,
    filter: _Value = ...,
    find_renames: _Flag = ...,
    force: _Flag = ...,
    gpg_sign: _ValuedFlag = ...,
    ignore_cr_at_eol: _Flag = ...,
    ipv4: _Flag = ...,
    ipv6: _Flag = ...,
    jobs: _Value = ...,
    keep: _Flag = ...,
    log: _ValuedFlag = ...,
    negotiate_only: _Flag = ...,
    negotiation_include: _Flag = ...,
    negotiation_restrict: _Flag = ...,
    negotiation_tip: _Flag = ...,
    no_rebase: _Flag = ...,
    porcelain: _Flag = ...,
    prefetch: _Flag = ...,
    progress: _Flag = ...,
    prune: _Flag = ...,
    quiet: _Flag = ...,
    rebase: _ValuedFlag = ...,
    recurse_submodules: _ValuedFlag = ...,
    refmap: _Value = ...,
    server_option: _Value = ...,
    set_upstream: _Flag = ...,
    shallow_exclude: _Value = ...,
    shallow_since: _Value = ...,
    show_forced_updates: _Flag = ...,
    signoff: _Flag = ...,
    squash: _Flag = ...,
    stat: _Flag = ...,
    strategy: _Value = ...,
    strategy_option: _Value = ...,
    summary: _Flag = ...,
    tags: _Flag = ...,
    unshallow: _Flag = ...,
    update_shallow: _Flag = ...,
    upload_pack: _Value = ...,
    verbose: _Flag = ...,
    verify: _Flag = ...,
    verify_signatures: _Flag = ...,
    **flags: Any,
) -> Result

GIT-PULL(1) Git Manual GIT-PULL(1)

Parameters:

Name Type Description Default
all _Flag

Fetch all remotes, except for the ones that have the remote..skipFetchAll configuration variable set.

...
allow_unrelated_histories _Flag

By default, git merge command refuses to merge histories that do not share a common ancestor.

...
append _Flag

Append ref names and object names of fetched refs to the existing contents of .git/FETCH_HEAD.

...
atomic _Flag

Use an atomic transaction to update local refs.

...
autostash _Flag

Automatically create a temporary stash entry before the operation begins, record it in the ref MERGE_AUTOSTASH and apply it after the operation ends.

...
cleanup _Value

This option determines how the merge message will be cleaned up before committing.

...
commit _Flag

Perform the merge and commit the result.

...
compact_summary _Flag

Show a compact-summary at the end of the merge.

...
deepen _Value

Similar to --depth, except it specifies the number of commits from the current shallow boundary instead of from the tip of each remote branch history.

...
depth _Value

Limit fetching to the specified number of commits from the tip of each remote branch history.

...
dry_run _Flag

Show what would be done, without making any changes.

...
edit _Flag

Invoke an editor before committing successful mechanical merge to further edit the auto-generated merge message, so that the user can explain and justify the merge.

...
ff _Flag

When merging rather than rebasing, specifies how a merge is handled when the merged-in history is already a descendant of the current history.

...
ff_only _Flag

Only update to the new history if there is no divergent local history.

...
filter _Value

Use the partial clone feature and request that the server sends a subset of reachable objects according to a given object filter.

...
force _Flag

When git fetch is used with : refspec, it may refuse to update the local branch as discussed in the part of the git-fetch(1) documentation.

...
gpg_sign _ValuedFlag

GPG-sign the resulting merge commit. Value optional: True for the bare flag, or pass one.

...
ipv4 _Flag

Use IPv4 addresses only, ignoring IPv6 addresses.

...
ipv6 _Flag

Use IPv6 addresses only, ignoring IPv4 addresses.

...
jobs _Value

Parallelize all forms of fetching up to jobs at a time.

...
keep _Flag

Keep downloaded pack.

...
log _ValuedFlag

In addition to branch names, populate the log message with one-line descriptions from at most actual commits that are being merged. Value optional: True for the bare flag, or pass one.

...
negotiate_only _Flag

Do not fetch anything from the server, and instead print the ancestors of the provided --negotiation-restrict= arguments, which we have in common with the server.

...
negotiation_include _Flag

Ensure that the commits at the given tips are always sent as "have" lines during fetch negotiation, regardless of what the negotiation algorithm selects.

...
negotiation_tip _Flag

By default, Git will report, to the server, commits reachable from all local refs to find common commits in an attempt to reduce the size of the to-be-received packfile.

...
no_rebase _Flag

This is shorthand for --rebase=false.

...
porcelain _Flag

Print the output to standard output in an easy-to-parse format for scripts.

...
prefetch _Flag

Modify the configured refspec to place all refs into the refs/prefetch/ namespace.

...
progress _Flag

Progress status is reported on the standard error stream by default when it is attached to a terminal, unless -q is specified.

...
prune _Flag

Before fetching, remove any remote-tracking references that no longer exist on the remote.

...
quiet _Flag

This is passed to both underlying git-fetch to squelch reporting of during transfer, and underlying git-merge to squelch output during merging.

...
rebase _ValuedFlag

true rebase the current branch on top of the upstream branch after fetching. Value optional: True for the bare flag, or pass one.

...
recurse_submodules _ValuedFlag

This option controls if new commits of populated submodules should be fetched, and if the working trees of active submodules should be updated, too (see git-fetch(1), git-config(1) and gitmodules(5)). Value optional: True for the bare flag, or pass one.

...
refmap _Value

When fetching refs listed on the command line, use the specified refspec (can be given more than once) to map the refs to remote-tracking branches, instead of the values of remote..fetch configuration variables for the remote repository. May be repeated: a list emits the flag once per item.

...
server_option _Value

Transmit the given string to the server when communicating using protocol version 2.

...
set_upstream _Flag

If the remote is fetched successfully, add upstream (tracking) reference, used by argument-less git-pull(1) and other commands.

...
shallow_exclude _Value

Deepen or shorten the history of a shallow repository to exclude commits reachable from a specified remote branch or tag. May be repeated: a list emits the flag once per item.

...
shallow_since _Value

Deepen or shorten the history of a shallow repository to include all reachable commits after .

...
show_forced_updates _Flag

By default, git checks if a branch is force-updated during fetch. show_forced_updates=off emits --no-show-forced-updates.

...
signoff _Flag

Add a Signed-off-by trailer by the committer at the end of the commit log message.

...
squash _Flag

Produce the working tree and index state as if a real merge happened (except for the merge information), but do not actually make a commit, move the HEAD, or record $GIT_DIR/MERGE_HEAD (to cause the next git commit command to create a merge commit).

...
stat _Flag

Show a diffstat at the end of the merge.

...
strategy _Value

Use the given merge strategy; can be supplied more than once to specify them in the order they should be tried.

...
strategy_option _Value

Pass merge strategy specific option through to the merge strategy.

...
summary _Flag

Synonyms to --stat and --no-stat; these are deprecated and will be removed in the future.

...
tags _Flag

Fetch all tags from the remote (i.e., fetch remote tags refs/tags/* into local tags with the same name), in addition to whatever else would otherwise be fetched. tags=off emits --no-tags.

...
unshallow _Flag

If the source repository is complete, convert a shallow repository to a complete one, removing all the limitations imposed by shallow repositories.

...
update_shallow _Flag

By default when fetching from a shallow repository, git fetch refuses refs that require updating .git/shallow.

...
upload_pack _Value

When given, and the repository to fetch from is handled by git fetch-pack, --exec= is passed to the command to specify non-default path for the command run on the other end.

...
verbose _Flag

Pass --verbose to git-fetch and git-merge.

...
verify _Flag

By default, the pre-merge and commit-msg hooks are run.

...
verify_signatures _Flag

Verify that the tip commit of the side branch being merged is signed with a valid key, i.e. a key that has a valid uid: in the default trust model, this means the signing key has been signed by a trusted key.

...

push

push(
    *args: str,
    all: _Flag = ...,
    atomic: _Flag = ...,
    delete: _Flag = ...,
    dry_run: _Flag = ...,
    follow_tags: _Flag = ...,
    force: _Flag = ...,
    force_if_includes: _Flag = ...,
    force_with_lease: _Flag = ...,
    ipv4: _Flag = ...,
    ipv6: _Flag = ...,
    mirror: _Flag = ...,
    no_recurse_submodules: _Flag = ...,
    porcelain: _Flag = ...,
    progress: _Flag = ...,
    prune: _Flag = ...,
    push_option: _Value = ...,
    quiet: _Flag = ...,
    receive_pack: _Value = ...,
    repo: _Value = ...,
    set_upstream: _Flag = ...,
    signed: _Flag = ...,
    tags: _Flag = ...,
    thin: _Flag = ...,
    verbose: _Flag = ...,
    verify: _Flag = ...,
    **flags: Any,
) -> Result

GIT-PUSH(1) Git Manual GIT-PUSH(1)

Parameters:

Name Type Description Default
all _Flag

Push all branches (i.e.

...
atomic _Flag

Use an atomic transaction on the remote side if available.

...
delete _Flag

All listed refs are deleted from the remote repository.

...
dry_run _Flag

Do everything except actually send the updates.

...
follow_tags _Flag

Push all the refs that would be pushed without this option, and also push annotated tags in refs/tags that are missing from the remote but are pointing at commit-ish that are reachable from the refs being pushed. follow_tags=off emits --no-follow-tags.

...
force _Flag

Usually, git push will refuse to update a branch that is not an ancestor of the commit being pushed.

...
force_if_includes _Flag

Force an update only if the tip of the remote-tracking ref has been integrated locally. force_if_includes=off emits --no-force-if-includes.

...
ipv4 _Flag

Use IPv4 addresses only, ignoring IPv6 addresses.

...
ipv6 _Flag

Use IPv6 addresses only, ignoring IPv4 addresses.

...
mirror _Flag

Instead of naming each ref to push, specifies that all refs under refs/ (which includes but is not limited to refs/heads/, refs/remotes/, and refs/tags/) be mirrored to the remote repository.

...
no_recurse_submodules _Flag

May be used to make sure all submodule commits used by the revisions to be pushed are available on a remote-tracking branch.

...
porcelain _Flag

Produce machine-readable output.

...
progress _Flag

Progress status is reported on the standard error stream by default when it is attached to a terminal, unless -q is specified.

...
prune _Flag

Remove remote branches that don't have a local counterpart.

...
push_option _Value

Transmit the given string to the server, which passes them to the pre-receive as well as the post-receive hook.

...
quiet _Flag

Suppress all output, including the listing of updated refs, unless an error occurs.

...
receive_pack _Value

Path to the git-receive-pack program on the remote end.

...
repo _Value

This option is equivalent to the argument.

...
set_upstream _Flag

For every branch that is up to date or successfully pushed, add upstream (tracking) reference, used by argument-less git-pull(1) and other commands.

...
signed _Flag

GPG-sign the push request to update refs on the receiving side, to allow it to be checked by the hooks and/or be logged.

...
tags _Flag

All refs under refs/tags are pushed, in addition to refspecs explicitly listed on the command line.

...
thin _Flag

These options are passed to git-send-pack(1).

...
verbose _Flag

Run verbosely.

...
verify _Flag

Toggle the pre-push hook (see githooks(5)).

...

restore

restore(
    *args: str,
    conflict: _Value = ...,
    ignore_skip_worktree_bits: _Flag = ...,
    ignore_unmerged: _Flag = ...,
    inter_hunk_context: _Value = ...,
    merge: _Flag = ...,
    ours: _Flag = ...,
    overlay: _Flag = ...,
    patch: _Flag = ...,
    pathspec_file_nul: _Flag = ...,
    pathspec_from_file: _Value = ...,
    progress: _Flag = ...,
    quiet: _Flag = ...,
    recurse_submodules: _Flag = ...,
    source: _Value = ...,
    staged: _Flag = ...,
    unified: _Value = ...,
    worktree: _Flag = ...,
    **flags: Any,
) -> Result

GIT-RESTORE(1) Git Manual GIT-RESTORE(1)

Parameters:

Name Type Description Default
conflict _Value

The same as --merge option above, but changes the way the conflicting hunks are presented, overriding the merge.conflictStyle configuration variable.

...
ignore_skip_worktree_bits _Flag

In sparse checkout mode, the default is to only update entries matched by and sparse patterns in $GIT_DIR/info/sparse-checkout.

...
ignore_unmerged _Flag

When restoring files on the working tree from the index, do not abort the operation if there are unmerged entries and neither --ours, --theirs, --merge or --conflict is specified.

...
inter_hunk_context _Value

Show the context between diff hunks, up to the specified of lines, thereby fusing hunks that are close to each other.

...
merge _Flag

When restoring files on the working tree from the index, recreate the conflicted merge in the unmerged paths.

...
ours _Flag

When restoring files in the working tree from the index, use stage #2 (ours) or #3 (theirs) for unmerged paths.

...
overlay _Flag

In overlay mode, never remove files when restoring.

...
patch _Flag

Interactively select hunks in the difference between the restore source and the restore location.

...
pathspec_file_nul _Flag

Only meaningful with --pathspec-from-file.

...
pathspec_from_file _Value

Pathspec is passed in instead of commandline args.

...
progress _Flag

Progress status is reported on the standard error stream by default when it is attached to a terminal, unless --quiet is specified.

...
quiet _Flag

Quiet, suppress feedback messages.

...
recurse_submodules _Flag

If names an active submodule and the restore location includes the working tree, the submodule will only be updated if this option is given, in which case its working tree will be restored to the commit recorded in the superproject, and any local modifications overwritten.

...
source _Value

Restore the working tree files with the content from the given tree.

...
unified _Value

Generate diffs with lines of context.

...

rev_parse

rev_parse(
    *args: str,
    abbrev_ref: _ValuedFlag = ...,
    absolute_git_dir: _Flag = ...,
    all: _Flag = ...,
    branches: _ValuedFlag = ...,
    default: _Value = ...,
    disambiguate: _Value = ...,
    exclude: _Value = ...,
    exclude_hidden: _Flag = ...,
    git_common_dir: _Flag = ...,
    git_dir: _Flag = ...,
    git_path: _Value = ...,
    glob: _Value = ...,
    is_bare_repository: _Flag = ...,
    is_inside_git_dir: _Flag = ...,
    is_inside_work_tree: _Flag = ...,
    is_shallow_repository: _Flag = ...,
    keep_dashdash: _Flag = ...,
    local_env_vars: _Flag = ...,
    no_revs: _Flag = ...,
    not_: _Flag = ...,
    output_object_format: _Flag = ...,
    parseopt: _Flag = ...,
    path_format: _Flag = ...,
    prefix: _Value = ...,
    quiet: _Flag = ...,
    resolve_git_dir: _Value = ...,
    revs_only: _Flag = ...,
    shared_index_path: _Flag = ...,
    short: _ValuedFlag = ...,
    show_cdup: _Flag = ...,
    show_object_format: _ValuedFlag = ...,
    show_prefix: _Flag = ...,
    show_ref_format: _Flag = ...,
    show_superproject_working_tree: _Flag = ...,
    show_toplevel: _Flag = ...,
    since: _Value = ...,
    sq: _Flag = ...,
    sq_quote: _Flag = ...,
    stop_at_non_option: _Flag = ...,
    stuck_long: _Flag = ...,
    symbolic: _Flag = ...,
    symbolic_full_name: _Flag = ...,
    until: _Value = ...,
    verify: _Flag = ...,
    **flags: Any,
) -> Result

GIT-REV-PARSE(1) Git Manual GIT-REV-PARSE(1)

Parameters:

Name Type Description Default
abbrev_ref _ValuedFlag

A non-ambiguous short name of the objects name. Value optional: True for the bare flag, or pass one.

...
absolute_git_dir _Flag

Like --git-dir, but its output is always the canonicalized absolute path.

...
all _Flag

Show all refs found in refs/.

...
branches _ValuedFlag

Show all branches, tags, or remote-tracking branches, respectively (i.e., refs found in refs/heads, refs/tags, or refs/remotes, respectively). Value optional: True for the bare flag, or pass one.

...
default _Value

If there is no parameter given by the user, use instead.

...
disambiguate _Value

Show every object whose name begins with the given prefix.

...
exclude _Value

Do not include refs matching that the next --all, --branches, --tags, --remotes, or --glob would otherwise consider.

...
exclude_hidden _Flag

Do not include refs that would be hidden by git-fetch, git-receive-pack or git-upload-pack by consulting the appropriate fetch.hideRefs, receive.hideRefs or uploadpack.hideRefs configuration along with transfer.hideRefs (see git-config(1)).

...
git_common_dir _Flag

Show $GIT_COMMON_DIR if defined, else $GIT_DIR.

...
git_dir _Flag

Show $GIT_DIR if defined.

...
git_path _Value

Resolve "$GIT_DIR/" and takes other path relocation variables such as $GIT_OBJECT_DIRECTORY, $GIT_INDEX_FILE.

...
glob _Value

Show all refs matching the shell glob pattern pattern.

...
is_bare_repository _Flag

When the repository is bare print "true", otherwise "false".

...
is_inside_git_dir _Flag

When the current working directory is below the repository directory print "true", otherwise "false".

...
is_inside_work_tree _Flag

When the current working directory is inside the work tree of the repository print "true", otherwise "false".

...
is_shallow_repository _Flag

When the repository is shallow print "true", otherwise "false".

...
keep_dashdash _Flag

Only meaningful in --parseopt mode.

...
local_env_vars _Flag

List the GIT_* environment variables that are local to the repository (e.g.

...
no_revs _Flag

Do not output flags and parameters meant for git rev-list command.

...
not_ _Flag

When showing object names, prefix them with ^ and strip ^ prefix from the object names that already have one.

...
output_object_format _Flag

Allow oids to be input from any object format that the current repository supports.

...
parseopt _Flag

Use git rev-parse in option parsing mode (see PARSEOPT section below).

...
path_format _Flag

Controls the behavior of certain other options.

...
prefix _Value

Behave as if git rev-parse was invoked from the subdirectory of the working tree. May be repeated: a list emits the flag once per item.

...
quiet _Flag

Only meaningful in --verify mode.

...
resolve_git_dir _Value

Check if is a valid repository or a gitfile that points at a valid repository, and print the location of the repository.

...
revs_only _Flag

Do not output flags and parameters not meant for git rev-list command.

...
shared_index_path _Flag

Show the path to the shared index file in split index mode, or empty if not in split-index mode.

...
short _ValuedFlag

Same as --verify but shortens the object name to a unique prefix with at least length characters. Value optional: True for the bare flag, or pass one.

...
show_cdup _Flag

When the command is invoked from a subdirectory, show the path of the top-level directory relative to the current directory (typically a sequence of "../", or an empty string).

...
show_object_format _ValuedFlag

Show the object format (hash algorithm) used for the repository for storage inside the .git directory, input, output, or compatibility. Value optional: True for the bare flag, or pass one.

...
show_prefix _Flag

When the command is invoked from a subdirectory, show the path of the current directory relative to the top-level directory.

...
show_ref_format _Flag

Show the reference storage format used for the repository.

...
show_superproject_working_tree _Flag

Show the absolute path of the root of the superproject's working tree (if exists) that uses the current repository as its submodule.

...
show_toplevel _Flag

Show the (by default, absolute) path of the top-level directory of the working tree.

...
since _Value

Parse the date string, and output the corresponding --max-age= parameter for git rev-list.

...
sq _Flag

Usually the output is made one line per flag and parameter.

...
sq_quote _Flag

Use git rev-parse in shell quoting mode (see SQ-QUOTE section below).

...
stop_at_non_option _Flag

Only meaningful in --parseopt mode.

...
stuck_long _Flag

Only meaningful in --parseopt mode.

...
symbolic _Flag

Usually the object names are output in SHA-1 form (with possible ^ prefix); this option makes them output in a form as close to the original input as possible.

...
symbolic_full_name _Flag

This is similar to --symbolic, but it omits input that are not refs (i.e.

...
until _Value

Parse the date string, and output the corresponding --min-age= parameter for git rev-list.

...
verify _Flag

Verify that exactly one parameter is provided, and that it can be turned into a raw 20-byte SHA-1 that can be used to access the object database.

...

stash

stash(
    *args: str,
    all: _Flag = ...,
    include_untracked: _Flag = ...,
    index: _Flag = ...,
    inter_hunk_context: _Value = ...,
    keep_index: _Flag = ...,
    label_ours: _Value = ...,
    only_untracked: _Flag = ...,
    patch: _Flag = ...,
    pathspec_file_nul: _Flag = ...,
    pathspec_from_file: _Value = ...,
    print: _Flag = ...,
    quiet: _Flag = ...,
    staged: _Flag = ...,
    to_ref: _Flag = ...,
    unified: _Value = ...,
    **flags: Any,
) -> Result

GIT-STASH(1) Git Manual GIT-STASH(1)

Parameters:

Name Type Description Default
all _Flag

This option is only valid for push and save commands.

...
include_untracked _Flag

When used with the push and save commands, all untracked files are also stashed and then cleaned up with git clean.

...
index _Flag

This option is only valid for pop and apply commands.

...
inter_hunk_context _Value

Show the context between diff hunks, up to the specified of lines, thereby fusing hunks that are close to each other.

...
keep_index _Flag

This option is only valid for push and save commands.

...
label_ours _Value

These options are only valid for the apply command.

...
only_untracked _Flag

This option is only valid for the show command.

...
patch _Flag

This option is only valid for push and save commands.

...
pathspec_file_nul _Flag

This option is only valid for push command.

...
pathspec_from_file _Value

This option is only valid for push command.

...
print _Flag

This option is only valid for the export command.

...
quiet _Flag

This option is only valid for apply, drop, pop, push, save, store commands.

...
staged _Flag

This option is only valid for push and save commands.

...
to_ref _Flag

This option is only valid for the export command.

...
unified _Value

Generate diffs with lines of context.

...

status

status(
    *args: str,
    ahead_behind: _Flag = ...,
    branch: _Flag = ...,
    column: _ValuedFlag = ...,
    find_renames: _ValuedFlag = ...,
    ignore_submodules: _ValuedFlag = ...,
    ignored: _ValuedFlag = ...,
    long: _Flag = ...,
    merge: _Flag = ...,
    porcelain: _ValuedFlag = ...,
    renames: _Flag = ...,
    short: _Flag = ...,
    show_stash: _Flag = ...,
    untracked_files: _ValuedFlag = ...,
    verbose: _Flag = ...,
    **flags: Any,
) -> Result

GIT-STATUS(1) Git Manual GIT-STATUS(1)

Parameters:

Name Type Description Default
ahead_behind _Flag

Display or do not display detailed ahead/behind counts for the branch relative to its upstream branch.

...
branch _Flag

Show the branch and tracking info even in short-format.

...
column _ValuedFlag

Display untracked files in columns. Value optional: True for the bare flag, or pass one.

...
find_renames _ValuedFlag

Turn on rename detection, optionally setting the similarity threshold. Value optional: True for the bare flag, or pass one.

...
ignore_submodules _ValuedFlag

Ignore changes to submodules when looking for changes. Value optional: True for the bare flag, or pass one.

...
ignored _ValuedFlag

Show ignored files as well. Value optional: True for the bare flag, or pass one.

...
long _Flag

Give the output in the long-format.

...
porcelain _ValuedFlag

Give the output in an easy-to-parse format for scripts. Value optional: True for the bare flag, or pass one.

...
renames _Flag

Turn on/off rename detection regardless of user configuration.

...
short _Flag

Give the output in the short-format.

...
show_stash _Flag

Show the number of entries currently stashed away.

...
untracked_files _ValuedFlag

Show untracked files. Value optional: True for the bare flag, or pass one.

...
verbose _Flag

In addition to the names of files that have been changed, also show the textual changes that are staged to be committed (i.e., like the output of git diff --cached).

...

switch

switch(
    *args: str,
    conflict: _Value = ...,
    create: _Value = ...,
    detach: _Flag = ...,
    discard_changes: _Flag = ...,
    force: _Flag = ...,
    force_create: _Value = ...,
    guess: _Flag = ...,
    ignore_other_worktrees: _Flag = ...,
    merge: _Flag = ...,
    orphan: _Value = ...,
    progress: _Flag = ...,
    quiet: _Flag = ...,
    recurse_submodules: _Flag = ...,
    track: _Flag = ...,
    **flags: Any,
) -> Result

GIT-SWITCH(1) Git Manual GIT-SWITCH(1)

Parameters:

Name Type Description Default
conflict _Value

The same as --merge option above, but changes the way the conflicting hunks are presented, overriding the merge.conflictStyle configuration variable.

...
create _Value

Create a new branch named starting at before switching to the branch.

...
detach _Flag

Switch to a commit for inspection and discardable experiments.

...
discard_changes _Flag

Proceed even if the index or the working tree differs from HEAD.

...
force _Flag

An alias for --discard-changes.

...
force_create _Value

Similar to --create except that if already exists, it will be reset to .

...
guess _Flag

If is not found but there does exist a tracking branch in exactly one remote (call it ) with a matching name, treat as equivalent to $ git switch -c --track / If the branch exists in multiple remotes and one of them is named by the checkout.defaultRemote configuration variable, we'll use that one for the purposes of disambiguation, even if the isn't unique across all remotes. guess=off emits --no-guess.

...
ignore_other_worktrees _Flag

git switch refuses when the wanted ref is already checked out by another worktree.

...
merge _Flag

If you have local modifications to one or more files that are different between the current branch and the branch to which you are switching, the command normally refuses to switch branches in order to preserve your modifications in context.

...
orphan _Value

Create a new unborn branch, named .

...
progress _Flag

Progress status is reported on the standard error stream by default when it is attached to a terminal, unless --quiet is specified.

...
quiet _Flag

Quiet, suppress feedback messages.

...
recurse_submodules _Flag

Using --recurse-submodules will update the content of all active submodules according to the commit recorded in the superproject.

...
track _Flag

When creating a new branch, set up "upstream" configuration. track=off emits --no-track.

...

tag

tag(
    *args: str,
    annotate: _Flag = ...,
    cleanup: _Value = ...,
    color: _ValuedFlag = ...,
    column: _ValuedFlag = ...,
    contains: _Value = ...,
    create_reflog: _Flag = ...,
    delete: _Flag = ...,
    edit: _Flag = ...,
    file: _Value = ...,
    force: _Flag = ...,
    format: _Value = ...,
    ignore_case: _Flag = ...,
    list: _Flag = ...,
    local_user: _Value = ...,
    merged: _Value = ...,
    message: _Value = ...,
    no_contains: _Value = ...,
    no_merged: _Value = ...,
    omit_empty: _Flag = ...,
    points_at: _Value = ...,
    sign: _Flag = ...,
    sort: _Value = ...,
    trailer: _Value = ...,
    verify: _Flag = ...,
    **flags: Any,
) -> Result

GIT-TAG(1) Git Manual GIT-TAG(1)

Parameters:

Name Type Description Default
annotate _Flag

Make an unsigned, annotated tag object.

...
cleanup _Value

Set how the tag message is cleaned up.

...
color _ValuedFlag

Respect any colors specified in the --format option. Value optional: True for the bare flag, or pass one.

...
column _ValuedFlag

Display tag listing in columns. Value optional: True for the bare flag, or pass one.

...
contains _Value

Only list tags which contain (HEAD if not specified).

...
create_reflog _Flag

Create a reflog for the tag.

...
delete _Flag

Delete existing tags with the given names.

...
edit _Flag

Let further edit the message taken from file with -F and command line with -m.

...
file _Value

Take the tag message from .

...
force _Flag

Replace an existing tag with the given name (instead of failing).

...
format _Value

A string that interpolates %(fieldname) from a tag ref being shown and the object it points at.

...
ignore_case _Flag

Sorting and filtering tags are case insensitive.

...
list _Flag

List tags.

...
local_user _Value

Make a cryptographically signed tag using the given key.

...
merged _Value

Only list tags whose commits are reachable from (HEAD if not specified).

...
message _Value

Use (instead of prompting).

...
no_contains _Value

Only list tags which don't contain (HEAD if not specified).

...
no_merged _Value

Only list tags whose commits are not reachable from (HEAD if not specified).

...
omit_empty _Flag

Do not print a newline after formatted refs where the format expands to the empty string.

...
points_at _Value

Only list tags of (HEAD if not specified).

...
sign _Flag

Make a cryptographically signed tag, using the default signing key. sign=off emits --no-sign.

...
sort _Value

Sort based on the key given.

...
trailer _Value

Specify a (, ) pair that should be applied as a trailer. May be repeated: a list emits the flag once per item.

...
verify _Flag

Verify the cryptographic signature of the given tags.

...

worktree

worktree(
    *args: str,
    checkout: _Flag = ...,
    detach: _Flag = ...,
    dry_run: _Flag = ...,
    expire: _Value = ...,
    force: _Flag = ...,
    guess_remote: _Flag = ...,
    lock: _Flag = ...,
    orphan: _Flag = ...,
    porcelain: _Flag = ...,
    quiet: _Flag = ...,
    reason: _Value = ...,
    relative_paths: _Flag = ...,
    track: _Flag = ...,
    verbose: _Flag = ...,
    **flags: Any,
) -> Result

GIT-WORKTREE(1) Git Manual GIT-WORKTREE(1)

Parameters:

Name Type Description Default
checkout _Flag

By default, add checks out , however, --no-checkout can be used to suppress checkout in order to make customizations, such as configuring sparse-checkout.

...
detach _Flag

With add, detach HEAD in the new worktree.

...
dry_run _Flag

With prune, do not remove anything; just report what it would remove.

...
expire _Value

With prune, only prune missing worktrees if older than

...
force _Flag

By default, add refuses to create a new worktree when is a branch name and is already checked out by another worktree, or if is already assigned to some worktree but is missing (for instance, if was deleted manually).

...
guess_remote _Flag

With worktree add , without , instead of creating a new branch from HEAD, if there exists a tracking branch in exactly one remote matching the basename of , base the new branch on the remote-tracking branch, and mark the remote-tracking branch as "upstream" from the new branch.

...
lock _Flag

Keep the worktree locked after creation.

...
orphan _Flag

With add, make the new worktree and index empty, associating the worktree with a new unborn branch named .

...
porcelain _Flag

With list, output in an easy-to-parse format for scripts.

...
quiet _Flag

With add, suppress feedback messages.

...
reason _Value

With lock or with add --lock, an explanation why the worktree is locked.

...
relative_paths _Flag

Link worktrees using relative paths or absolute paths (default).

...
track _Flag

When creating a new branch, if is a branch, mark it as "upstream" from the new branch.

...
verbose _Flag

With prune, report all removals.

...