Forrest logo
tool overview
On this page you find all important commands for the CLI tool git. If the command you are looking for is missing please ask our AI.

git

Git is a distributed version control system that tracks changes in any set of computer files, usually used for coordinating work among programmers collaboratively developing source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows (thousands of parallel branches running on different computers).

List of commands for git:

  • core-validate-commit:tldr:f484e core-validate-commit: Validate a range of commits.
    $ git rev-list ${commit_hash}..HEAD | xargs core-validate-commit
    try on your machine
    explain this command
  • dvc-checkout:tldr:d6a4a dvc-checkout: Checkout a specific version of a target from a different Git commit/tag/branch.
    $ git checkout ${select} ${target} && dvc checkout ${target}
    try on your machine
    explain this command
  • git-abort:tldr:73a13 git-abort: Abort a Git rebase, merge, or cherry-pick.
    $ git abort
    try on your machine
    explain this command
  • git-add:tldr:202aa git-add: Add all files (tracked and untracked).
    $ git add -A
    try on your machine
    explain this command
  • git-add:tldr:23100 git-add: Interactively stage parts of a given file.
    $ git add -p ${filename}
    try on your machine
    explain this command
  • git-add:tldr:27488 git-add: Interactively stage parts of files.
    $ git add -p
    try on your machine
    explain this command
  • git-add:tldr:3a6a8 git-add: Interactively stage a file.
    $ git add -i
    try on your machine
    explain this command
  • git-add:tldr:9ad7a git-add: Also add ignored files.
    $ git add -f
    try on your machine
    explain this command
  • git-add:tldr:9c216 git-add: Only add already tracked files.
    $ git add -u
    try on your machine
    explain this command
  • git-add:tldr:a340a git-add: Add a file to the index.
    $ git add ${filename}
    try on your machine
    explain this command
  • git-alias:tldr:2726e git-alias: List all aliases.
    $ git alias
    try on your machine
    explain this command
  • git-alias:tldr:852c4 git-alias: Create a new alias.
    $ git alias "${name}" "${command}"
    try on your machine
    explain this command
  • git-alias:tldr:f2ab8 git-alias: Search for an existing alias.
    $ git alias ^${name}
    try on your machine
    explain this command
  • git-am:tldr:40f98 git-am: Apply and commit changes following a local patch file.
    $ git am ${filename-patch}
    try on your machine
    explain this command
  • git-am:tldr:881f6 git-am: Abort the process of applying a patch file.
    $ git am --abort
    try on your machine
    explain this command
  • git-am:tldr:fd876 git-am: Apply as much of a patch file as possible, saving failed hunks to reject files.
    $ git am --reject ${filename-patch}
    try on your machine
    explain this command
  • git-annex:tldr:55b43 git-annex: Synchronize a local repository with a remote.
    $ git annex ${remote}
    try on your machine
    explain this command
  • git-annex:tldr:7cd0b git-annex: Get a file or directory.
    $ git annex get ${filename_or_directory}
    try on your machine
    explain this command
  • git-annex:tldr:97fae git-annex: Initialize a repo with Git annex.
    $ git annex init
    try on your machine
    explain this command
  • git-annex:tldr:a04df git-annex: Add a file.
    $ git annex add ${filename_or_directory}
    try on your machine
    explain this command
  • git-annex:tldr:c8c2f git-annex: Help.
    $ git annex help
    try on your machine
    explain this command
  • git-annex:tldr:fa832 git-annex: Show the current status of a file or directory.
    $ git annex status ${filename_or_directory}
    try on your machine
    explain this command
  • git-annotate:tldr:5d212 git-annotate: Print a file with the author email and commit hash prepended to each line.
    $ git annotate -e ${filename}
    try on your machine
    explain this command
  • git-annotate:tldr:a1f8a git-annotate: Print a file with the author name and commit hash prepended to each line.
    $ git annotate ${filename}
    try on your machine
    explain this command
  • git-annotate:tldr:fae92 git-annotate: Print only rows that match a regular expression.
    $ git annotate -L :${regexp} ${filename}
    try on your machine
    explain this command
  • git-apply:tldr:11a4c git-apply: Print messages about the patched files.
    $ git apply --verbose ${filename}
    try on your machine
    explain this command
  • git-apply:tldr:3c6ca git-apply: Apply and add the patched files to the index.
    $ git apply --index ${filename}
    try on your machine
    explain this command
  • git-apply:tldr:669d1 git-apply: Store the patch result in the index without modifying the working tree.
    $ git apply --cache ${filename}
    try on your machine
    explain this command
  • git-apply:tldr:e4d30 git-apply: Output diffstat for the input and apply the patch.
    $ git apply --stat --apply ${filename}
    try on your machine
    explain this command
  • git-apply:tldr:f949a git-apply: Apply the patch in reverse.
    $ git apply --reverse ${filename}
    try on your machine
    explain this command
  • git-archive-file:tldr:be5c1 git-archive-file: Pack the currently checked out commit into a zip archive.
    $ git archive-file
    try on your machine
    explain this command
  • git-archive:tldr:020fe git-archive: Create a tar archive from the contents of a specific directory.
    $ git archive --output=${filename-tar} HEAD:${path-to-directory}
    try on your machine
    explain this command
  • git-archive:tldr:08afe git-archive: Create a zip archive from the current HEAD and print it to standard output.
    $ git archive --verbose --format=zip HEAD
    try on your machine
    explain this command
  • git-archive:tldr:57c3c git-archive: Prepend a path to each file to archive it inside a specific directory.
    $ git archive --output=${filename-tar} --prefix=${path-to-prepend}/ HEAD
    try on your machine
    explain this command
  • git-archive:tldr:ac496 git-archive: Create a tar archive from the contents of the current HEAD and print it to standard output.
    $ git archive --verbose HEAD
    try on your machine
    explain this command
  • git-archive:tldr:cf9bf git-archive: Create a tar archive from the contents of the latest commit on a specific branch.
    $ git archive --output=${filename-tar} ${branch_name}
    try on your machine
    explain this command
  • git-archive:tldr:d54c9 git-archive: Same as above, but write the zip archive to file.
    $ git archive --verbose --output=${filename-zip} HEAD
    try on your machine
    explain this command
  • git-authors:tldr:61f33 git-authors: Print a full list of committers to `stdout` instead of to the `AUTHORS` file.
    $ git authors --list
    try on your machine
    explain this command
  • git-authors:tldr:8e416 git-authors: Append the list of committers, excluding emails, to the `AUTHORS` file and open it in the default editor.
    $ git authors --no-email
    try on your machine
    explain this command
  • git-authors:tldr:eb4b0 git-authors: Append the list of committers to the `AUTHORS` file and open it in the default editor.
    $ git authors
    try on your machine
    explain this command
  • git-bisect:tldr:88fa4 git-bisect: After `git bisect` pinpoints the faulty commit, end the bisect session and return to the previous branch.
    $ git bisect reset
    try on your machine
    explain this command
  • git-bisect:tldr:9d7bf git-bisect: Skip a commit during a bisect (e.g. one that fails the tests due to a different issue).
    $ git bisect skip
    try on your machine
    explain this command
  • git-bisect:tldr:9f158 git-bisect: For each commit that `git bisect` selects, mark it as "bad" or "good" after testing it for the issue.
    $ git bisect ${select}
    try on your machine
    explain this command
  • git-bisect:tldr:d74f9 git-bisect: Start a bisect session on a commit range bounded by a known buggy commit, and a known clean (typically older) one.
    $ git bisect start ${bad_commit} ${good_commit}
    try on your machine
    explain this command
  • git-bisect:tldr:f3522 git-bisect: Display a log of what has been done so far.
    $ git bisect log
    try on your machine
    explain this command
  • git-blame-someone-else:tldr:b32cb git-blame-someone-else: Change the committer and author of a commit.
    $ git blame-someone-else "${author }" ${commit}
    try on your machine
    explain this command
  • git-blame:tldr:04a44 git-blame: Print file with author name and commit hash on each line before a specific commit.
    $ git blame ${commit}~ ${filename}
    try on your machine
    explain this command
  • git-blame:tldr:0b36c git-blame: Print file with author email and commit hash on each line.
    $ git blame -e ${filename}
    try on your machine
    explain this command
  • git-blame:tldr:48307 git-blame: Print file with author name and commit hash on each line at a specific commit.
    $ git blame ${commit} ${filename}
    try on your machine
    explain this command
  • git-blame:tldr:f2e38 git-blame: Print file with author name and commit hash on each line.
    $ git blame ${filename}
    try on your machine
    explain this command
  • git-branch:tldr:0f237 git-branch: Create new branch based on the current commit.
    $ git branch ${branch_name}
    try on your machine
    explain this command
  • git-branch:tldr:10939 git-branch: List which branches include a specific Git commit in their history.
    $ git branch --all --contains ${commit_hash}
    try on your machine
    explain this command
  • git-branch:tldr:41ba3 git-branch: Show the name of the current branch.
    $ git branch --show-current
    try on your machine
    explain this command
  • git-branch:tldr:470eb git-branch: List all branches (local and remote; the current branch is highlighted by `*`).
    $ git branch --all
    try on your machine
    explain this command
  • git-branch:tldr:6a51b git-branch: Create new branch based on a specific commit.
    $ git branch ${branch_name} ${commit_hash}
    try on your machine
    explain this command
  • git-branch:tldr:7c6d4 git-branch: Delete a local branch (must not have it checked out to do this).
    $ git branch -d ${branch_name}
    try on your machine
    explain this command
  • git-branch:tldr:c8a53 git-branch: Delete a remote branch.
    $ git push ${remote_name} --delete ${remote_branch_name}
    try on your machine
    explain this command
  • git-branch:tldr:f64dc git-branch: Rename a branch (must not have it checked out to do this).
    $ git branch -m ${old_branch_name} ${new_branch_name}
    try on your machine
    explain this command
  • git-browse-ci:tldr:1e32f git-browse-ci: Open the current repository's CI configuration on its upstream website.
    $ git browse-ci
    try on your machine
    explain this command
  • git-browse-ci:tldr:f7bf7 git-browse-ci: Open the current repository's CI configuration on its upstream website for a specific remote.
    $ git browse-ci ${remote}
    try on your machine
    explain this command
  • git-browse:tldr:3941a git-browse: Open the first upstream in the default browser.
    $ git browse
    try on your machine
    explain this command
  • git-browse:tldr:8d2ad git-browse: Open a specific upstream in the default browser.
    $ git browse ${upstream}
    try on your machine
    explain this command
  • git-brv:tldr:47838 git-brv: List each branch showing date, latest commit hash and message.
    $ git brv
    try on your machine
    explain this command
  • git-bug:tldr:1670c git-bug: You can pull for updates.
    $ git bug pull
    try on your machine
    explain this command
  • git-bug:tldr:5325b git-bug: List existing bugs.
    $ git bug ls
    try on your machine
    explain this command
  • git-bug:tldr:53370 git-bug: Create a new identity.
    $ git bug user create
    try on your machine
    explain this command
  • git-bug:tldr:56a6f git-bug: Create a new bug.
    $ git bug add
    try on your machine
    explain this command
  • git-bug:tldr:5bcb2 git-bug: You can push your new entry to a remote.
    $ git bug push
    try on your machine
    explain this command
  • git-bug:tldr:67145 git-bug: Search for bugs by text content.
    $ git bug ls "${search_query}" baz
    try on your machine
    explain this command
  • git-bug:tldr:b48cc git-bug: Filter and sort bugs using a query.
    $ git bug ls "${status}:${open} ${sort}:${edit}"
    try on your machine
    explain this command
  • git-bugreport:tldr:79d93 git-bugreport: Create a new bug report file with the specified filename suffix in `strftime` format.
    $ git bugreport --suffix ${%m%d%y}
    try on your machine
    explain this command
  • git-bugreport:tldr:999ed git-bugreport: Create a new bug report file in the specified directory, creating it if it does not exist.
    $ git bugreport --output-directory ${path-to-directory}
    try on your machine
    explain this command
  • git-bugreport:tldr:be73e git-bugreport: Create a new bug report file in the current directory.
    $ git bugreport
    try on your machine
    explain this command
  • git-bulk:tldr:5ceb8 git-bulk: Register the current directory as a workspace.
    $ git bulk --addcurrent ${workspace_name}
    try on your machine
    explain this command
  • git-bulk:tldr:7787a git-bulk: List all registered workspaces.
    $ git bulk --listall
    try on your machine
    explain this command
  • git-bulk:tldr:9212b git-bulk: Run a Git command on the repositories of the current workspace.
    $ git bulk ${command} ${command_arguments}
    try on your machine
    explain this command
  • git-bulk:tldr:9aead git-bulk: Remove all workspaces.
    $ git bulk --purge
    try on your machine
    explain this command
  • git-bulk:tldr:c561a git-bulk: Clone a repository inside a specific directory then register the repository as a workspace.
    $ git bulk --addworkspace ${workspace_name} ${-absolute-path-to-parent_directory} --from ${remote_repository_location}
    try on your machine
    explain this command
  • git-bulk:tldr:d8f11 git-bulk: Remove a specific workspace.
    $ git bulk --removeworkspace ${workspace_name}
    try on your machine
    explain this command
  • git-bulk:tldr:e67e4 git-bulk: Register a workspace for bulk operations.
    $ git bulk --addworkspace ${workspace_name} ${-absolute-path-to-repository}
    try on your machine
    explain this command
  • git-bundle:tldr:23c2d git-bundle: Create a bundle file of the latest 7 days.
    $ git bundle create ${filename-bundle} --since=${7-days} ${HEAD}
    try on your machine
    explain this command
  • git-bundle:tldr:3d2c1 git-bundle: Create a bundle file of the last 5 commits of the current branch.
    $ git bundle create ${filename-bundle} -${5} ${HEAD}
    try on your machine
    explain this command
  • git-bundle:tldr:766b6 git-bundle: Unbundle a specific branch from a bundle file into the current repository.
    $ git pull ${filename-bundle} ${branch_name}
    try on your machine
    explain this command
  • git-bundle:tldr:76c1c git-bundle: Create a bundle file of all branches.
    $ git bundle create ${filename-bundle} --all
    try on your machine
    explain this command
  • git-bundle:tldr:923b1 git-bundle: Create a bundle file that contains all objects and references of a specific branch.
    $ git bundle create ${filename-bundle} ${branch_name}
    try on your machine
    explain this command
  • git-bundle:tldr:9c2c5 git-bundle: Print to the standard output the list of references contained in a bundle.
    $ git bundle unbundle ${filename-bundle}
    try on your machine
    explain this command
  • git-bundle:tldr:d7738 git-bundle: Verify that a bundle file is valid and can be applied to the current repository.
    $ git bundle verify ${filename-bundle}
    try on your machine
    explain this command
  • git-cat-file:tldr:1df69 git-cat-file: Pretty-[p]rint the contents of a given Git object based on its type.
    $ git cat-file -p ${HEAD~2}
    try on your machine
    explain this command
  • git-cat-file:tldr:a86e2 git-cat-file: Get the [s]ize of the HEAD commit in bytes.
    $ git cat-file -s HEAD
    try on your machine
    explain this command
  • git-cat-file:tldr:c0508 git-cat-file: Get the [t]ype (blob, tree, commit, tag) of a given Git object.
    $ git cat-file -t ${8c442dc3}
    try on your machine
    explain this command
  • git-changelog:tldr:10d82 git-changelog: Update existing file or create a new `History.md` file with the commit messages since the latest Git tag.
    $ git changelog
    try on your machine
    explain this command
  • git-changelog:tldr:24d73 git-changelog: Specify `CHANGELOG.md` as the output file.
    $ git changelog ${CHANGELOG-md}
    try on your machine
    explain this command
  • git-changelog:tldr:55090 git-changelog: List pretty formatted range of commits between the tag `0.5.0` and the tag `1.0.0`.
    $ git changelog --start-tag ${0-5-0} --final-tag ${1-0-0}
    try on your machine
    explain this command
  • git-changelog:tldr:79974 git-changelog: List commits from the current version.
    $ git changelog --list
    try on your machine
    explain this command
  • git-changelog:tldr:a472d git-changelog: List pretty formatted range of commits between the commit `0b97430` and the tag `1.0.0`.
    $ git changelog --start-commit ${0b97430} --final-tag ${1-0-0}
    try on your machine
    explain this command
  • git-changelog:tldr:a4a3d git-changelog: List a range of commits from the tag named `2.1.0` to now.
    $ git changelog --list --start-tag ${2-1-0}
    try on your machine
    explain this command
  • git-changelog:tldr:a6386 git-changelog: Replace contents of current changelog file entirely.
    $ git changelog --prune-old
    try on your machine
    explain this command
  • git-check-attr:tldr:3f8a4 git-check-attr: Check the value of a specific attribute on a file.
    $ git check-attr ${attribute} ${filename}
    try on your machine
    explain this command
  • git-check-attr:tldr:4e9d3 git-check-attr: Check the value of a specific attribute on one or more files.
    $ git check-attr ${attribute} ${filename1} ${filename2}
    try on your machine
    explain this command
  • git-check-attr:tldr:5aad4 git-check-attr: Check the values of all attributes on a file.
    $ git check-attr --all ${filename}
    try on your machine
    explain this command
  • git-check-attr:tldr:72eba git-check-attr: Check the value of a specific attribute on files.
    $ git check-attr --all ${filename1} ${filename2}
    try on your machine
    explain this command
  • git-check-ignore:tldr:050b8 git-check-ignore: Include details about the matching pattern for each path.
    $ git check-ignore --verbose ${filenames_or_directories}
    try on your machine
    explain this command
  • git-check-ignore:tldr:4a5b3 git-check-ignore: Check whether a file or directory is ignored.
    $ git check-ignore ${filename_or_directory}
    try on your machine
    explain this command
  • git-check-ignore:tldr:83c32 git-check-ignore: Use pathnames, one per line, from `stdin`.
    $ git check-ignore --stdin < ${filename_list}
    try on your machine
    explain this command
  • git-check-ignore:tldr:d8f65 git-check-ignore: Do not check the index (used to debug why paths were tracked and not ignored).
    $ git check-ignore --no-index ${filenames_or_directories}
    try on your machine
    explain this command
  • git-check-ignore:tldr:fafe9 git-check-ignore: Check whether multiple files or directories are ignored.
    $ git check-ignore ${filename} ${path-to-directory}
    try on your machine
    explain this command
  • git-check-mailmap:tldr:7e0b3 git-check-mailmap: Look up the canonical name associated with an email address.
    $ git check-mailmap "<${email@example-com}>"
    try on your machine
    explain this command
  • git-check-ref-format:tldr:1f89a git-check-ref-format: Print the name of the last branch checked out.
    $ git check-ref-format --branch @{-1}
    try on your machine
    explain this command
  • git-check-ref-format:tldr:2db10 git-check-ref-format: Check the format of the specified refname.
    $ git check-ref-format ${refs-head-refname}
    try on your machine
    explain this command
  • git-check-ref-format:tldr:9308a git-check-ref-format: Normalize a refname.
    $ git check-ref-format --normalize ${refs-head-refname}
    try on your machine
    explain this command
  • git-checkout-index:tldr:48063 git-checkout-index: Restore any files deleted or changed since the last commit.
    $ git checkout-index --all --force
    try on your machine
    explain this command
  • git-checkout-index:tldr:60ad2 git-checkout-index: Export a copy of the entire tree at the last commit to the specified directory (the trailing slash is important).
    $ git checkout-index --all --force --prefix=${path-to-export_directory-}
    try on your machine
    explain this command
  • git-checkout-index:tldr:8b732 git-checkout-index: Restore any files changed since the last commit, ignoring any files that were deleted.
    $ git checkout-index --all --force --no-create
    try on your machine
    explain this command
  • git-checkout-index:tldr:9b814 git-checkout-index: Restore any files deleted since the last commit.
    $ git checkout-index --all
    try on your machine
    explain this command
  • git-checkout:tldr:0f654 git-checkout: Create and switch to a new branch based on a specific reference (branch, remote/branch, tag are examples of valid references).
    $ git checkout -b ${branch_name} ${reference}
    try on your machine
    explain this command
  • git-checkout:tldr:3673d git-checkout: Discard all unstaged changes in the current directory (see `git reset` for more undo-like commands).
    $ git checkout .
    try on your machine
    explain this command
  • git-checkout:tldr:6e0f0 git-checkout: Switch to an existing remote branch.
    $ git checkout --track ${remote_name}/${branch_name}
    try on your machine
    explain this command
  • git-checkout:tldr:d91b8 git-checkout: Switch to the previously checked out branch.
    $ git checkout -
    try on your machine
    explain this command
  • git-checkout:tldr:e18a3 git-checkout: Create and switch to a new branch.
    $ git checkout -b ${branch_name}
    try on your machine
    explain this command
  • git-checkout:tldr:e4597 git-checkout: Switch to an existing local branch.
    $ git checkout ${branch_name}
    try on your machine
    explain this command
  • git-cherry-pick:tldr:8c0e3 git-cherry-pick: Apply a commit to the current branch.
    $ git cherry-pick ${commit}
    try on your machine
    explain this command
  • git-cherry-pick:tldr:95933 git-cherry-pick: Add the changes of a commit to the working directory, without creating a commit.
    $ git cherry-pick -n ${commit}
    try on your machine
    explain this command
  • git-cherry-pick:tldr:c90ee git-cherry-pick: Apply a range of commits to the current branch (see also `git rebase --onto`).
    $ git cherry-pick ${start_commit}~..${end_commit}
    try on your machine
    explain this command
  • git-cherry-pick:tldr:faabd git-cherry-pick: Apply multiple (non-sequential) commits to the current branch.
    $ git cherry-pick ${commit_1} ${commit_2}
    try on your machine
    explain this command
  • git-cherry:tldr:86696 git-cherry: Specify a different upstream and topic branch.
    $ git cherry ${origin} ${topic}
    try on your machine
    explain this command
  • git-cherry:tldr:ac57d git-cherry: Show commits (and their messages) with equivalent commits upstream.
    $ git cherry -v
    try on your machine
    explain this command
  • git-cherry:tldr:f5ef8 git-cherry: Limit commits to those within a given limit.
    $ git cherry ${origin} ${topic} ${base}
    try on your machine
    explain this command
  • git-clean:tldr:16596 git-clean: Show what files would be deleted without actually deleting them.
    $ git clean --dry-run
    try on your machine
    explain this command
  • git-clean:tldr:42f67 git-clean: Delete files that are not tracked by Git.
    $ git clean
    try on your machine
    explain this command
  • git-clean:tldr:4ffea git-clean: Forcefully delete files that are not tracked by Git.
    $ git clean -f
    try on your machine
    explain this command
  • git-clean:tldr:a0972 git-clean: Delete untracked files, including ignored files in `.gitignore` and `.git/info/exclude`.
    $ git clean -x
    try on your machine
    explain this command
  • git-clean:tldr:cc20f git-clean: Forcefully delete directories that are not tracked by Git.
    $ git clean -fd
    try on your machine
    explain this command
  • git-clean:tldr:ce0c8 git-clean: Interactively delete files that are not tracked by Git.
    $ git clean -i
    try on your machine
    explain this command
  • git-clear-soft:tldr:417f3 git-clear-soft: Reset all tracked files and delete all untracked files.
    $ git clear-soft
    try on your machine
    explain this command
  • git-clear:tldr:ab4b9 git-clear: Reset all tracked files and delete all untracked files even if they are included in the `.gitignore`.
    $ git clear
    try on your machine
    explain this command
  • git-clone:tldr:16789 git-clone: Clone only the `.git` directory of an existing repository.
    $ git clone --no-checkout ${remote_repository_location}
    try on your machine
    explain this command
  • git-clone:tldr:532ed git-clone: Clone an existing repository only fetching the 10 most recent commits on the default branch (useful to save time).
    $ git clone --depth ${10} ${remote_repository_location}
    try on your machine
    explain this command
  • git-clone:tldr:6c3b7 git-clone: Clone an existing repository only fetching a specific branch.
    $ git clone --branch ${name} --single-branch ${remote_repository_location}
    try on your machine
    explain this command
  • git-clone:tldr:70e49 git-clone: Clone quietly.
    $ git clone --quiet ${remote_repository_location}
    try on your machine
    explain this command
  • git-clone:tldr:c69bd git-clone: Clone an existing repository using a specific SSH command.
    $ git clone --config core.sshCommand="${ssh -i path-to-private_ssh_key}" ${remote_repository_location}
    try on your machine
    explain this command
  • git-clone:tldr:caf88 git-clone: Clone an existing repository into a new directory (the default directory is the repository name).
    $ git clone ${remote_repository_location} ${path-to-directory}
    try on your machine
    explain this command
  • git-clone:tldr:d3036 git-clone: Clone an existing repository and its submodules.
    $ git clone --recursive ${remote_repository_location}
    try on your machine
    explain this command
  • git-clone:tldr:dfe1d git-clone: Clone a local repository.
    $ git clone --local ${path-to-local-repository}
    try on your machine
    explain this command
  • git-coauthor:tldr:4ea89 git-coauthor: Insert an additional author to the last Git commit.
    $ git coauthor ${name} ${name@example-com}
    try on your machine
    explain this command
  • git-cola:tldr:04464 git-cola: Start git cola in amend mode.
    $ git cola --amend
    try on your machine
    explain this command
  • git-cola:tldr:472fd git-cola: Start git cola.
    $ git cola
    try on your machine
    explain this command
  • git-cola:tldr:61935 git-cola: Apply the path filter to the status widget.
    $ git cola --status-filter ${filter}
    try on your machine
    explain this command
  • git-cola:tldr:9da81 git-cola: Open the Git repository at mentioned path.
    $ git cola --repo ${path-to-git-repository}
    try on your machine
    explain this command
  • git-cola:tldr:a9e7e git-cola: Prompt for a Git repository. Defaults to the current directory.
    $ git cola --prompt
    try on your machine
    explain this command
  • git-commit-graph:tldr:00a37 git-commit-graph: Write a commit-graph file containing all commits in the current commit-graph file along with those reachable from `HEAD`.
    $ git rev-parse ${HEAD} | git commit-graph write --stdin-commits --append
    try on your machine
    explain this command
  • git-commit-graph:tldr:12395 git-commit-graph: Write a commit-graph file for the packed commits in the repository's local `.git` directory.
    $ git commit-graph write
    try on your machine
    explain this command
  • git-commit-graph:tldr:2a5c1 git-commit-graph: Write a commit-graph file containing all reachable commits.
    $ git show-ref --hash | git commit-graph write --stdin-commits
    try on your machine
    explain this command
  • git-commit-tree:tldr:084e3 git-commit-tree: Create a commit object reading the message from a file (use `-` for `stdin`).
    $ git commit-tree ${tree} -F ${filename}
    try on your machine
    explain this command
  • git-commit-tree:tldr:724b8 git-commit-tree: Create a GPG-signed commit object.
    $ git commit-tree ${tree} -m "${message}" --gpg-sign
    try on your machine
    explain this command
  • git-commit-tree:tldr:8d093 git-commit-tree: Create a commit object with the specified parent commit object.
    $ git commit-tree ${tree} -m "${message}" -p ${parent_commit_sha}
    try on your machine
    explain this command
  • git-commit-tree:tldr:c6797 git-commit-tree: Create a commit object with the specified message.
    $ git commit-tree ${tree} -m "${message}"
    try on your machine
    explain this command
  • git-commit:tldr:1ecaa git-commit: Commit only specific (already staged) files.
    $ git commit ${filename1} ${filename2}
    try on your machine
    explain this command
  • git-commit:tldr:658f1 git-commit: Commit staged files with a message read from a file.
    $ git commit --file ${path-to-commit_message_file}
    try on your machine
    explain this command
  • git-commit:tldr:6f824 git-commit: Commit staged files to the repository with a message.
    $ git commit --message "${message}"
    try on your machine
    explain this command
  • git-commit:tldr:94000 git-commit: Auto stage all modified and deleted files and commit with a message.
    $ git commit --all --message "${message}"
    try on your machine
    explain this command
  • git-commit:tldr:a5c1b git-commit: Update the last commit by adding the currently staged changes, changing the commit's hash.
    $ git commit --amend
    try on your machine
    explain this command
  • git-commit:tldr:e8859 git-commit: Commit staged files and sign them with the specified GPG key (or the one defined in the config file if no argument is specified).
    $ git commit --gpg-sign ${key_id} --message "${message}"
    try on your machine
    explain this command
  • git-commit:tldr:ff4d6 git-commit: Create a commit, even if there are no staged files.
    $ git commit --message "${message}" --allow-empty
    try on your machine
    explain this command
  • git-commits-since:tldr:eac7b git-commits-since: Display commits since yesterday.
    $ git commits-since ${yesterday}
    try on your machine
    explain this command
  • git-config:tldr:05248 git-config: List only system configuration entries (stored in `/etc/gitconfig`), and show their file location.
    $ git config --list --system --show-origin
    try on your machine
    explain this command
  • git-config:tldr:22dc6 git-config: Revert a global configuration entry to its default value.
    $ git config --global --unset alias.unstage
    try on your machine
    explain this command
  • git-config:tldr:3b331 git-config: List only global configuration entries (stored in `~/.gitconfig`).
    $ git config --list --global
    try on your machine
    explain this command
  • git-config:tldr:8ea95 git-config: Get the value of a given configuration entry.
    $ git config alias.unstage
    try on your machine
    explain this command
  • git-config:tldr:9b64b git-config: Edit the Git configuration for the current repository in the default editor.
    $ git config --edit
    try on your machine
    explain this command
  • git-config:tldr:c5eec git-config: Edit the global Git configuration in the default editor.
    $ git config --global --edit
    try on your machine
    explain this command
  • git-config:tldr:d73eb git-config: Set the global value of a given configuration entry.
    $ git config --global alias.unstage "reset HEAD --"
    try on your machine
    explain this command
  • git-config:tldr:dda73 git-config: List only local configuration entries (stored in `.git/config` in the current repository).
    $ git config --list --local
    try on your machine
    explain this command
  • git-contrib:tldr:24e8a git-contrib: Display all commit hashes and their corresponding commit messages from a specific author.
    $ git contrib ${author}
    try on your machine
    explain this command
  • git-count-objects:tldr:9bc7b git-count-objects: Display more verbose information.
    $ git count-objects --verbose
    try on your machine
    explain this command
  • git-count-objects:tldr:ab211 git-count-objects: Display a count of all objects and their total disk usage, displaying sizes in human-readable units.
    $ git count-objects --human-readable
    try on your machine
    explain this command
  • git-count-objects:tldr:d0821 git-count-objects: Display more verbose information, displaying sizes in human-readable units.
    $ git count-objects --human-readable --verbose
    try on your machine
    explain this command
  • git-count-objects:tldr:e4d9d git-count-objects: Count all objects and display the total disk usage.
    $ git count-objects
    try on your machine
    explain this command
  • git-count:tldr:68805 git-count: Print the number of commits per contributor and the total number of commits.
    $ git count --all
    try on your machine
    explain this command
  • git-count:tldr:f91ec git-count: Print the total number of commits.
    $ git count
    try on your machine
    explain this command
  • git-cp:tldr:6064b git-cp: Copy an existing file in a Git repo and place it elsewhere.
    $ git cp ${filename} ${path-to-new_file}
    try on your machine
    explain this command
  • git-create-branch:tldr:43fd5 git-create-branch: Create a branch locally and on origin.
    $ git create-branch --remote ${branch_name}
    try on your machine
    explain this command
  • git-create-branch:tldr:6b26e git-create-branch: Create a local branch.
    $ git create-branch ${branch_name}
    try on your machine
    explain this command
  • git-create-branch:tldr:fabd7 git-create-branch: Create a branch locally and on upstream (through forks).
    $ git create-branch --remote upstream ${branch_name}
    try on your machine
    explain this command
  • git-credential-cache:tldr:50770 git-credential-cache: Store Git credentials for a specific amount of time.
    $ git config credential.helper 'cache --timeout=${time_in_seconds}'
    try on your machine
    explain this command
  • git-credential-store:tldr:49b02 git-credential-store: Store Git credentials in a specific file.
    $ git config credential.helper 'store --file=${filename}'
    try on your machine
    explain this command
  • git-cvsexportcommit:tldr:993f3 git-cvsexportcommit: Merge a specific patch into CVS.
    $ git cvsexportcommit -v -c -w ${path-to-project_cvs_checkout} ${commit_sha1}
    try on your machine
    explain this command
  • git-daemon:tldr:20ac1 git-daemon: Launch a Git daemon with a whitelisted set of directories.
    $ git daemon --export-all ${path-to-directory1} ${path-to-directory2}
    try on your machine
    explain this command
  • git-daemon:tldr:665e4 git-daemon: Launch a Git daemon with a specific base directory and allow pulling from all sub-directories that look like Git repositories.
    $ git daemon --base-path=${path-to-directory} --export-all --reuseaddr
    try on your machine
    explain this command
  • git-daemon:tldr:e0780 git-daemon: Launch a Git daemon for the specified directory, verbosely printing log messages and allowing Git clients to write to it.
    $ git daemon ${path-to-directory} --enable=receive-pack --informative-errors --verbose
    try on your machine
    explain this command
  • git-delete-branch:tldr:cc31b git-delete-branch: Delete a local and remote Git branch.
    $ git delete-branch ${branch_name}
    try on your machine
    explain this command
  • git-delete-merged-branches:tldr:5e0e8 git-delete-merged-branches: Delete merged branches.
    $ git delete-merged-branches
    try on your machine
    explain this command
  • git-delete-submodule:tldr:4cae7 git-delete-submodule: Delete a specific submodule.
    $ git delete-submodule ${path-to-submodule}
    try on your machine
    explain this command
  • git-delete-tag:tldr:002ff git-delete-tag: Delete a tag.
    $ git delete-tag ${tag_version}
    try on your machine
    explain this command
  • git-delta:tldr:0698b git-delta: List files from a specific branch that differ from another specific branch.
    $ git delta ${branch_1} ${branch_2}
    try on your machine
    explain this command
  • git-delta:tldr:c0fa4 git-delta: List files from the current checked out branch that differ from the `main` branch.
    $ git delta ${main}
    try on your machine
    explain this command
  • git-describe:tldr:6611b git-describe: Describe a Git tag.
    $ git describe ${v1-0-0}
    try on your machine
    explain this command
  • git-describe:tldr:7f565 git-describe: Create a unique name for the current commit (the name contains the most recent annotated tag, the number of additional commits, and the abbreviated commit hash).
    $ git describe
    try on your machine
    explain this command
  • git-describe:tldr:8147b git-describe: Create a name with 4 digits for the abbreviated commit hash.
    $ git describe --abbrev=${4}
    try on your machine
    explain this command
  • git-describe:tldr:984af git-describe: Generate a name with the tag reference path.
    $ git describe --all
    try on your machine
    explain this command
  • git-diff-files:tldr:3f1c7 git-diff-files: Output a summary of extended header information.
    $ git diff-files --summary
    try on your machine
    explain this command
  • git-diff-files:tldr:83d0b git-diff-files: Show only the names of changed files.
    $ git diff-files --name-only
    try on your machine
    explain this command
  • git-diff-files:tldr:9a407 git-diff-files: Compare only specified files.
    $ git diff-files ${filename}
    try on your machine
    explain this command
  • git-diff-files:tldr:af93e git-diff-files: Compare all changed files.
    $ git diff-files
    try on your machine
    explain this command
  • git-diff:tldr:1770c git-diff: Show changes from all commits since a given date/time (a date expression, e.g. "1 week 2 days" or an ISO date).
    $ git diff 'HEAD@{select}'
    try on your machine
    explain this command
  • git-diff:tldr:66485 git-diff: Show unstaged, uncommitted changes.
    $ git diff
    try on your machine
    explain this command
  • git-diff:tldr:7e095 git-diff: Compare a single file between two branches or commits.
    $ git diff ${branch_1}..${branch_2} [--] ${filename}
    try on your machine
    explain this command
  • git-diff:tldr:83a09 git-diff: Show only names of changed files since a given commit.
    $ git diff --name-only ${commit}
    try on your machine
    explain this command
  • git-diff:tldr:8450e git-diff: Output a summary of file creations, renames and mode changes since a given commit.
    $ git diff --summary ${commit}
    try on your machine
    explain this command
  • git-diff:tldr:d27d3 git-diff: Show only staged (added, but not yet committed) changes.
    $ git diff --staged
    try on your machine
    explain this command
  • git-diff:tldr:ec801 git-diff: Show all uncommitted changes (including staged ones).
    $ git diff HEAD
    try on your machine
    explain this command
  • git-diff:tldr:f5c0c git-diff: Compare different files from the current branch to other branch.
    $ git diff ${branch}:${filename2} ${filename}
    try on your machine
    explain this command
  • git-difftool:tldr:05816 git-difftool: Use the default diff tool to show staged changes.
    $ git difftool --staged
    try on your machine
    explain this command
  • git-difftool:tldr:4c66a git-difftool: Use a specific tool (opendiff) to show changes since a given commit.
    $ git difftool --tool=${opendiff} ${commit}
    try on your machine
    explain this command
  • git-difftool:tldr:aeb73 git-difftool: List available diff tools.
    $ git difftool --tool-help
    try on your machine
    explain this command
  • git-difftool:tldr:f188c git-difftool: Set the default diff tool to meld.
    $ git config --global diff.tool "${meld}"
    try on your machine
    explain this command
  • git-effort:tldr:0a830 git-effort: Display files modified by a specific number of commits or more, showing commits and active days.
    $ git effort --above ${5}
    try on your machine
    explain this command
  • git-effort:tldr:79065 git-effort: Display each file in the repository, showing commits and active days.
    $ git effort
    try on your machine
    explain this command
  • git-effort:tldr:97293 git-effort: Display only the specified files or directories, showing commits and active days.
    $ git effort ${filename_or_directory1 filename_or_directory2 ---}
    try on your machine
    explain this command
  • git-extras:tldr:686c5 git-extras: Display help and subcommands.
    $ git extras --help
    try on your machine
    explain this command
  • git-extras:tldr:8fcc1 git-extras: Print the version of installed `git-extras`.
    $ git extras --version
    try on your machine
    explain this command
  • git-extras:tldr:aefda git-extras: Install or upgrade `git-extras` commands.
    $ git extras update
    try on your machine
    explain this command
  • git-fame:tldr:09f86 git-fame: Display contributions in the specified format.
    $ git fame --format ${select}
    try on your machine
    explain this command
  • git-fame:tldr:17038 git-fame: Calculate contributions for the current Git repository.
    $ git fame
    try on your machine
    explain this command
  • git-fame:tldr:6b7b7 git-fame: Display contributions per file extension.
    $ git fame --bytype
    try on your machine
    explain this command
  • git-fame:tldr:7ee2e git-fame: Ignore whitespace changes.
    $ git fame --ignore-whitespace
    try on your machine
    explain this command
  • git-fame:tldr:81a36 git-fame: Calculate contributions made after the specified date.
    $ git fame --since "${select}"
    try on your machine
    explain this command
  • git-fame:tldr:86407 git-fame: Exclude files/directories that match the specified regular expression.
    $ git fame --excl "${regular_expression}"
    try on your machine
    explain this command
  • git-fame:tldr:e904d git-fame: Detect intra-file line moves and copies.
    $ git fame -M
    try on your machine
    explain this command
  • git-fame:tldr:f51fd git-fame: Detect inter-file line moves and copies.
    $ git fame -C
    try on your machine
    explain this command
  • git-feature:tldr:0a254 git-feature: Merge a feature branch into the current branch creating a merge commit.
    $ git feature finish ${feature_branch}
    try on your machine
    explain this command
  • git-feature:tldr:97550 git-feature: Send changes from a specific feature branch to its remote counterpart.
    $ git feature ${feature_branch} --remote ${remote_name}
    try on your machine
    explain this command
  • git-feature:tldr:c0172 git-feature: Merge a feature branch into the current branch squashing the changes into one commit.
    $ git feature finish --squash ${feature_branch}
    try on your machine
    explain this command
  • git-feature:tldr:ca30d git-feature: Create and switch to a new feature branch.
    $ git feature ${feature_branch}
    try on your machine
    explain this command
  • git-fetch:tldr:0d4c2 git-fetch: Fetch the latest changes from the default remote upstream repository (if set).
    $ git fetch
    try on your machine
    explain this command
  • git-fetch:tldr:53a60 git-fetch: Delete local references to remote branches that have been deleted upstream.
    $ git fetch --prune
    try on your machine
    explain this command
  • git-fetch:tldr:59bf2 git-fetch: Also fetch tags from the remote upstream repository.
    $ git fetch --tags
    try on your machine
    explain this command
  • git-fetch:tldr:5df6f git-fetch: Fetch the latest changes from all remote upstream repositories.
    $ git fetch --all
    try on your machine
    explain this command
  • git-fetch:tldr:f82df git-fetch: Fetch new branches from a specific remote upstream repository.
    $ git fetch ${remote_name}
    try on your machine
    explain this command
  • git-filter-repo:tldr:5cf1e git-filter-repo: Replace a sensitive string in all files.
    $ git filter-repo --replace-text <(echo '${find}==>${replacement}')
    try on your machine
    explain this command
  • git-filter-repo:tldr:ad548 git-filter-repo: Move everything from sub-folder one level up.
    $ git filter-repo --path-rename ${path-to-folder-:}
    try on your machine
    explain this command
  • git-filter-repo:tldr:af691 git-filter-repo: Remove a single folder, keeping history.
    $ git filter-repo --path ${path-to-folder} --invert-paths
    try on your machine
    explain this command
  • git-filter-repo:tldr:e76ba git-filter-repo: Extract a single folder, keeping history.
    $ git filter-repo --path ${path-to-folder}
    try on your machine
    explain this command
  • git-flow:tldr:124d0 git-flow: Publish a feature to the remote server.
    $ git flow feature publish ${feature}
    try on your machine
    explain this command
  • git-flow:tldr:791ef git-flow: Start developing on a feature branch based on `develop`.
    $ git flow feature start ${feature}
    try on your machine
    explain this command
  • git-flow:tldr:7f9a1 git-flow: Initialize it inside an existing Git repository.
    $ git flow init
    try on your machine
    explain this command
  • git-flow:tldr:8e789 git-flow: Finish development on a feature branch, merging it into the `develop` branch and deleting it.
    $ git flow feature finish ${feature}
    try on your machine
    explain this command
  • git-flow:tldr:94d9d git-flow: Get a feature published by another user.
    $ git flow feature pull origin ${feature}
    try on your machine
    explain this command
  • git-for-each-repo:tldr:0daaf git-for-each-repo: Run maintenance on each of a list of repositories stored in the `maintenance.repo` user configuration variable.
    $ git for-each-repo --config=${maintenance-repo} ${maintenance run}
    try on your machine
    explain this command
  • git-force-clone:tldr:727fa git-force-clone: Clone a Git repository into an existing directory of a Git repository, performing a force-reset to resemble it to the remote and checking out an specific branch.
    $ git force-clone -b ${branch_name} ${remote_repository_location} ${path-to-directory}
    try on your machine
    explain this command
  • git-force-clone:tldr:fb756 git-force-clone: Clone a Git repository into a new directory.
    $ git force-clone ${remote_repository_location} ${path-to-directory}
    try on your machine
    explain this command
  • git-fork:tldr:bcf74 git-fork: Fork and clone a GitHub repository by its URL.
    $ git fork ${https:--github-com-tldr-pages-tldr}
    try on your machine
    explain this command
  • git-format-patch:tldr:5fe8c git-format-patch: Write a `.patch` file for all the commits between 2 revisions to `stdout`.
    $ git format-patch ${revision_1}..${revision_2}
    try on your machine
    explain this command
  • git-format-patch:tldr:c4ba1 git-format-patch: Create an auto-named `.patch` file for all the unpushed commits.
    $ git format-patch ${origin}
    try on your machine
    explain this command
  • git-format-patch:tldr:f5042 git-format-patch: Write a `.patch` file for the 3 latest commits.
    $ git format-patch -${3}
    try on your machine
    explain this command
  • git-fsck:tldr:4cce5 git-fsck: List all tags found.
    $ git fsck --tags
    try on your machine
    explain this command
  • git-fsck:tldr:a8c76 git-fsck: Check the current repository.
    $ git fsck
    try on your machine
    explain this command
  • git-fsck:tldr:c5c6b git-fsck: List all root nodes found.
    $ git fsck --root
    try on your machine
    explain this command
  • git-gc:tldr:60972 git-gc: Aggressively optimise, takes more time.
    $ git gc --aggressive
    try on your machine
    explain this command
  • git-gc:tldr:8d3fc git-gc: Optimise the repository.
    $ git gc
    try on your machine
    explain this command
  • git-gc:tldr:8dc59 git-gc: Do not prune loose objects (prunes by default).
    $ git gc --no-prune
    try on your machine
    explain this command
  • git-gc:tldr:a0835 git-gc: Suppress all output.
    $ git gc --quiet
    try on your machine
    explain this command
  • git-gc:tldr:dc5fc git-gc: View full usage.
    $ git gc --help
    try on your machine
    explain this command
  • git-gh-pages:tldr:323ac git-gh-pages: Create the GitHub pages branch inside the repository in the current directory.
    $ git gh-pages
    try on your machine
    explain this command
  • git-graft:tldr:349a5 git-graft: Merge all commits not present on the target branch from the source branch to target branch, and delete the source branch.
    $ git graft ${source_branch} ${target_branch}
    try on your machine
    explain this command
  • git-grep:tldr:03d61 git-grep: Search for a string in tracked files, including submodules.
    $ git grep --recurse-submodules ${search_string}
    try on your machine
    explain this command
  • git-grep:tldr:3fa38 git-grep: Search for a string across all branches.
    $ git grep ${search_string} $(git rev-list --all)
    try on your machine
    explain this command
  • git-grep:tldr:7b110 git-grep: Search for a string in tracked files.
    $ git grep ${search_string}
    try on your machine
    explain this command
  • git-grep:tldr:cb2eb git-grep: Search for a string at a specific point in history.
    $ git grep ${search_string} ${HEAD~2}
    try on your machine
    explain this command
  • git-hash-object:tldr:15539 git-hash-object: Compute the object ID and store it in the Git database.
    $ git hash-object -w ${filename}
    try on your machine
    explain this command
  • git-hash-object:tldr:690b7 git-hash-object: Compute the object ID specifying the object type.
    $ git hash-object -t ${select} ${filename}
    try on your machine
    explain this command
  • git-hash-object:tldr:c3bc6 git-hash-object: Compute the object ID without storing it.
    $ git hash-object ${filename}
    try on your machine
    explain this command
  • git-help:tldr:0d0d6 git-help: Display help about a specific Git subcommand.
    $ git help ${subcommand}
    try on your machine
    explain this command
  • git-help:tldr:194e3 git-help: Display a list of all available Git subcommands.
    $ git help --all
    try on your machine
    explain this command
  • git-help:tldr:2e71d git-help: List the available guides.
    $ git help --guide
    try on your machine
    explain this command
  • git-help:tldr:41f58 git-help: Display help about a specific Git subcommand in a web browser.
    $ git help --web ${subcommand}
    try on your machine
    explain this command
  • git-help:tldr:887a7 git-help: List all possible configuration variables.
    $ git help --config
    try on your machine
    explain this command
  • git-ignore-io:tldr:395d7 git-ignore-io: List available templates.
    $ git ignore-io list
    try on your machine
    explain this command
  • git-ignore-io:tldr:7ef52 git-ignore-io: Generate a .gitignore template.
    $ git ignore-io ${item_a,item_b,item_n}
    try on your machine
    explain this command
  • git-ignore:tldr:17c77 git-ignore: Ignore file(s) locally, updating local `.gitignore` file.
    $ git ignore ${file_pattern}
    try on your machine
    explain this command
  • git-ignore:tldr:cb86b git-ignore: Show the content of all global and local `.gitignore` files.
    $ git ignore
    try on your machine
    explain this command
  • git-ignore:tldr:cee01 git-ignore: Ignore file(s) globally, updating global `.gitignore` file.
    $ git ignore ${file_pattern} --global
    try on your machine
    explain this command
  • git-ignore:tldr:e2ded git-ignore: Ignore file(s) privately, updating `.git/info/exclude` file.
    $ git ignore ${file_pattern} --private
    try on your machine
    explain this command
  • git-imerge:tldr:05618 git-imerge: Show ASCII diagram of in-progress merge or rebase.
    $ git imerge diagram
    try on your machine
    explain this command
  • git-imerge:tldr:3a78e git-imerge: Start imerge-based rebase (checkout the branch to be rebased, first).
    $ git imerge rebase ${branch_to_rebase_onto}
    try on your machine
    explain this command
  • git-imerge:tldr:4f2ff git-imerge: Continue imerge operation after resolving conflicts (`git add` the conflicted files, first).
    $ git imerge continue --no-edit
    try on your machine
    explain this command
  • git-imerge:tldr:7262c git-imerge: Wrap up imerge operation, after all conflicts are resolved.
    $ git imerge finish
    try on your machine
    explain this command
  • git-imerge:tldr:a9f7e git-imerge: Start imerge-based merge (checkout the branch to merge into, first).
    $ git imerge merge ${branch_to_be_merged}
    try on your machine
    explain this command
  • git-info:tldr:843dd git-info: Display remote locations, remote and local branches and most recent commit data.
    $ git info --no-config
    try on your machine
    explain this command
  • git-info:tldr:db0bf git-info: Display remote locations, remote and local branches, most recent commit data and `.git/config` settings.
    $ git info
    try on your machine
    explain this command
  • git-init:tldr:04900 git-init: Initialize a new local repository.
    $ git init
    try on your machine
    explain this command
  • git-init:tldr:16fad git-init: Initialize a repository with the specified name for the initial branch.
    $ git init --initial-branch=${branch_name}
    try on your machine
    explain this command
  • git-init:tldr:2664d git-init: Initialize a barebones repository, suitable for use as a remote over ssh.
    $ git init --bare
    try on your machine
    explain this command
  • git-init:tldr:a1a80 git-init: Initialize a repository using SHA256 for object hashes (requires Git version 2.29+).
    $ git init --object-format=${sha256}
    try on your machine
    explain this command
  • git-instaweb:tldr:4efcc git-instaweb: Restart the currently running GitWeb server.
    $ git instaweb --restart
    try on your machine
    explain this command
  • git-instaweb:tldr:512a5 git-instaweb: Stop the currently running GitWeb server.
    $ git instaweb --stop
    try on your machine
    explain this command
  • git-instaweb:tldr:74b07 git-instaweb: Listen only on localhost.
    $ git instaweb --start --local
    try on your machine
    explain this command
  • git-instaweb:tldr:92147 git-instaweb: Use a specified HTTP daemon.
    $ git instaweb --start --httpd ${select}
    try on your machine
    explain this command
  • git-instaweb:tldr:b36a2 git-instaweb: Listen on a specific port.
    $ git instaweb --start --port ${1234}
    try on your machine
    explain this command
  • git-instaweb:tldr:d3932 git-instaweb: Launch a GitWeb server for the current Git repository.
    $ git instaweb --start
    try on your machine
    explain this command
  • git-instaweb:tldr:d6a60 git-instaweb: Also auto-launch a web browser.
    $ git instaweb --start --browser
    try on your machine
    explain this command
  • git-lfs:tldr:289df git-lfs: Fetch all Git LFS objects.
    $ git lfs fetch
    try on your machine
    explain this command
  • git-lfs:tldr:3b39c git-lfs: Track files that match a glob.
    $ git lfs track '${*-bin}'
    try on your machine
    explain this command
  • git-lfs:tldr:66974 git-lfs: List tracked files that have been committed.
    $ git lfs ls-files
    try on your machine
    explain this command
  • git-lfs:tldr:8198b git-lfs: Checkout all Git LFS objects.
    $ git lfs checkout
    try on your machine
    explain this command
  • git-lfs:tldr:9eea6 git-lfs: Initialize Git LFS.
    $ git lfs install
    try on your machine
    explain this command
  • git-lfs:tldr:a2e12 git-lfs: Change the Git LFS endpoint URL (useful if the LFS server is separate from the Git server).
    $ git config -f .lfsconfig lfs.url ${lfs_endpoint_url}
    try on your machine
    explain this command
  • git-lfs:tldr:b432b git-lfs: List tracked patterns.
    $ git lfs track
    try on your machine
    explain this command
  • git-lfs:tldr:d5810 git-lfs: Push all Git LFS objects to the remote server (useful if errors are encountered).
    $ git lfs push --all ${remote_name} ${branch_name}
    try on your machine
    explain this command
  • git-local-commits:tldr:94a74 git-local-commits: Show commits that haven't been pushed.
    $ git local-commits
    try on your machine
    explain this command
  • git-lock:tldr:8c8bf git-lock: Disable the ability to commit changes of a local file.
    $ git lock ${filename}
    try on your machine
    explain this command
  • git-locked:tldr:62385 git-locked: List all local locked files.
    $ git locked
    try on your machine
    explain this command
  • git-log:tldr:08cd7 git-log: Show commits between two dates (yyyy-mm-dd).
    $ git log --before="${2017-01-29}" --after="${2017-01-17}"
    try on your machine
    explain this command
  • git-log:tldr:19594 git-log: Show a graph of all commits, tags and branches in the entire repo.
    $ git log --oneline --decorate --all --graph
    try on your machine
    explain this command
  • git-log:tldr:4b13b git-log: Show only commits whose messages include a given string (case-insensitively).
    $ git log -i --grep ${search_string}
    try on your machine
    explain this command
  • git-log:tldr:71cc4 git-log: Show the history of a particular file or directory, including differences.
    $ git log -p ${filename_or_directory}
    try on your machine
    explain this command
  • git-log:tldr:872e6 git-log: Show a graph of commits in the current branch using only the first line of each commit message.
    $ git log --oneline --graph
    try on your machine
    explain this command
  • git-log:tldr:88b5b git-log: Show an overview of which file(s) changed in each commit.
    $ git log --stat
    try on your machine
    explain this command
  • git-log:tldr:ca347 git-log: Show the last N commits from a certain author.
    $ git log -n ${number} --author=${author}
    try on your machine
    explain this command
  • git-log:tldr:df706 git-log: Show the sequence of commits starting from the current one, in reverse chronological order of the Git repository in the current working directory.
    $ git log
    try on your machine
    explain this command
  • git-ls-files:tldr:4f48d git-ls-files: Show ignored and untracked files.
    $ git ls-files --others
    try on your machine
    explain this command
  • git-ls-files:tldr:7aeca git-ls-files: Show modified and deleted files.
    $ git ls-files --modified
    try on your machine
    explain this command
  • git-ls-files:tldr:8c587 git-ls-files: Show untracked files, not ignored.
    $ git ls-files --others --exclude-standard
    try on your machine
    explain this command
  • git-ls-files:tldr:b30d8 git-ls-files: Show deleted files.
    $ git ls-files --deleted
    try on your machine
    explain this command
  • git-ls-remote:tldr:01cc7 git-ls-remote: Show references from a remote repository filtered by a pattern.
    $ git ls-remote ${repository_name} "${pattern}"
    try on your machine
    explain this command
  • git-ls-remote:tldr:5ce41 git-ls-remote: Show only heads references in the default remote repository.
    $ git ls-remote --heads
    try on your machine
    explain this command
  • git-ls-remote:tldr:a1d99 git-ls-remote: Show only tags references in the default remote repository.
    $ git ls-remote --tags
    try on your machine
    explain this command
  • git-ls-remote:tldr:e32a4 git-ls-remote: Show all references from a remote repository based on name or URL.
    $ git ls-remote ${repository_url}
    try on your machine
    explain this command
  • git-ls-remote:tldr:f866e git-ls-remote: Show all references in the default remote repository.
    $ git ls-remote
    try on your machine
    explain this command
  • git-ls-tree:tldr:32169 git-ls-tree: List the contents of the tree on a commit, recursing into subtrees.
    $ git ls-tree -r ${commit_hash}
    try on your machine
    explain this command
  • git-ls-tree:tldr:788e1 git-ls-tree: List only the filenames of the tree on a commit.
    $ git ls-tree --name-only ${commit_hash}
    try on your machine
    explain this command
  • git-ls-tree:tldr:c43ce git-ls-tree: List the contents of the tree on a branch.
    $ git ls-tree ${branch_name}
    try on your machine
    explain this command
  • git-mailinfo:tldr:2d8b9 git-mailinfo: Remove everything from the body before a scissors line (e.g. "-->* --") and retrieve the message or patch.
    $ git mailinfo --scissors ${select}
    try on your machine
    explain this command
  • git-mailinfo:tldr:35d8a git-mailinfo: Extract the patch and author data from an email message.
    $ git mailinfo ${select}
    try on your machine
    explain this command
  • git-mailinfo:tldr:728d2 git-mailinfo: Extract but remove leading and trailing whitespace.
    $ git mailinfo -k ${select}
    try on your machine
    explain this command
  • git-maintenance:tldr:016d8 git-maintenance: Start running maintenance on the current repository.
    $ git maintenance start
    try on your machine
    explain this command
  • git-maintenance:tldr:36fa2 git-maintenance: Run a specific maintenance task on the current repository.
    $ git maintenance run --task=${select}
    try on your machine
    explain this command
  • git-maintenance:tldr:9c9b0 git-maintenance: Remove the current repository from the user's maintenance repository list.
    $ git maintenance unregister
    try on your machine
    explain this command
  • git-maintenance:tldr:adcc3 git-maintenance: Register the current repository in the user's list of repositories to daily have maintenance run.
    $ git maintenance register
    try on your machine
    explain this command
  • git-maintenance:tldr:b401d git-maintenance: Halt the background maintenance schedule for the current repository.
    $ git maintenance stop
    try on your machine
    explain this command
  • git-merge-base:tldr:0a2eb git-merge-base: Print the best common ancestor of two commits.
    $ git merge-base ${commit_1} ${commit_2}
    try on your machine
    explain this command
  • git-merge-base:tldr:8553f git-merge-base: Output all best common ancestors of two commits.
    $ git merge-base --all ${commit_1} ${commit_2}
    try on your machine
    explain this command
  • git-merge-base:tldr:8bba6 git-merge-base: Check if a commit is an ancestor of a specific commit.
    $ git merge-base --is-ancestor ${ancestor_commit} ${commit}
    try on your machine
    explain this command
  • git-merge-into:tldr:41020 git-merge-into: Merge current branch into a specific destination branch.
    $ git merge-into ${destination_branch}
    try on your machine
    explain this command
  • git-merge-into:tldr:70432 git-merge-into: Merge a source branch into a specific destination branch.
    $ git merge-into ${source_branch} ${destination_branch}
    try on your machine
    explain this command
  • git-merge-repo:tldr:2aaed git-merge-repo: Merge a repository's branch into the current repository's directory.
    $ git merge-repo ${path-to-repo} ${branch_name} ${path-to-directory}
    try on your machine
    explain this command
  • git-merge-repo:tldr:42317 git-merge-repo: Merge a remote repository's branch into the current repository's directory, not preserving history.
    $ git merge-repo ${path-to-remote_repo} ${branch_name} .
    try on your machine
    explain this command
  • git-merge:tldr:4d3c9 git-merge: Edit the merge message.
    $ git merge --edit ${branch_name}
    try on your machine
    explain this command
  • git-merge:tldr:6526d git-merge: Merge a branch into your current branch.
    $ git merge ${branch_name}
    try on your machine
    explain this command
  • git-merge:tldr:6ae4c git-merge: Abort a merge in case of conflicts.
    $ git merge --abort
    try on your machine
    explain this command
  • git-merge:tldr:a1d81 git-merge: Merge a branch and create a merge commit.
    $ git merge --no-ff ${branch_name}
    try on your machine
    explain this command
  • git-merge:tldr:db97f git-merge: Merge using a specific strategy.
    $ git merge --strategy ${strategy} --strategy-option ${strategy_option} ${branch_name}
    try on your machine
    explain this command
  • git-mergetool:tldr:02448 git-mergetool: Launch the default merge tool to resolve conflicts.
    $ git mergetool
    try on your machine
    explain this command
  • git-mergetool:tldr:29c6a git-mergetool: Launch the merge tool identified by a name.
    $ git mergetool --tool ${tool_name}
    try on your machine
    explain this command
  • git-mergetool:tldr:46fbb git-mergetool: Don't prompt before each invocation of the merge tool.
    $ git mergetool --no-prompt
    try on your machine
    explain this command
  • git-mergetool:tldr:54156 git-mergetool: Explicitly use the GUI merge tool (see the `merge.guitool` config variable).
    $ git mergetool --gui
    try on your machine
    explain this command
  • git-mergetool:tldr:5dad4 git-mergetool: List valid merge tools.
    $ git mergetool --tool-help
    try on your machine
    explain this command
  • git-mergetool:tldr:cee73 git-mergetool: Explicitly use the regular merge tool (see the `merge.tool` config variable).
    $ git mergetool --no-gui
    try on your machine
    explain this command
  • git-missing:tldr:3e5d9 git-missing: Show commits which aren't shared between two branches.
    $ git missing ${branch_1} ${branch_2}
    try on your machine
    explain this command
  • git-missing:tldr:bec4e git-missing: Show commits which aren't shared between the currently checked-out branch and another branch.
    $ git missing ${branch}
    try on your machine
    explain this command
  • git-mr:tldr:13bdb git-mr: Check out a specific merge request.
    $ git mr ${mr_number}
    try on your machine
    explain this command
  • git-mr:tldr:1efed git-mr: Clean up old merge request branches.
    $ git mr clean
    try on your machine
    explain this command
  • git-mr:tldr:f6026 git-mr: Check out a merge request from a specific remote.
    $ git mr ${mr_number} ${remote}
    try on your machine
    explain this command
  • git-mv:tldr:29197 git-mv: Move a file inside the repo and add the movement to the next commit.
    $ git mv ${filename} ${new-filename}
    try on your machine
    explain this command
  • git-mv:tldr:d0a92 git-mv: Overwrite the file or directory in the target path if it exists.
    $ git mv --force ${filename_or_directory} ${path-to-destination}
    try on your machine
    explain this command
  • git-notes:tldr:138f5 git-notes: Append a note to a specified object (opens the default text editor).
    $ git notes append ${object}
    try on your machine
    explain this command
  • git-notes:tldr:27d14 git-notes: Copy a note from one object to another.
    $ git notes copy ${source_object} ${target_object}
    try on your machine
    explain this command
  • git-notes:tldr:370bf git-notes: List all notes and the objects they are attached to.
    $ git notes list
    try on your machine
    explain this command
  • git-notes:tldr:44174 git-notes: Show the notes attached to a given object (defaults to HEAD).
    $ git notes show [${object}]
    try on your machine
    explain this command
  • git-notes:tldr:75a10 git-notes: Edit an existing note (defaults to HEAD).
    $ git notes edit [${object}]
    try on your machine
    explain this command
  • git-notes:tldr:a10c1 git-notes: Remove all the notes added to a specified object.
    $ git notes remove ${object}
    try on your machine
    explain this command
  • git-notes:tldr:dacba git-notes: Append a note to a specified object, specifying the message.
    $ git notes append --message="${message_text}"
    try on your machine
    explain this command
  • git-notes:tldr:eb8a3 git-notes: List all notes attached to a given object (defaults to HEAD).
    $ git notes list [${object}]
    try on your machine
    explain this command
  • git-obliterate:tldr:c4e14 git-obliterate: Erase the existence of specific files.
    $ git obliterate ${file_1 file_2 ---}
    try on your machine
    explain this command
  • git-pr:tldr:0c7ea git-pr: Check out a specific pull request.
    $ git pr ${pr_number}
    try on your machine
    explain this command
  • git-pr:tldr:2702f git-pr: Check out a pull request from a specific remote.
    $ git pr ${pr_number} ${remote}
    try on your machine
    explain this command
  • git-pr:tldr:abc30 git-pr: Clean up old pull request branches.
    $ git pr clean
    try on your machine
    explain this command
  • git-prune:tldr:27167 git-prune: Prune unreachable objects while showing progress.
    $ git prune --progress
    try on your machine
    explain this command
  • git-prune:tldr:a61df git-prune: Prune unreachable objects and display what has been pruned to `stdout`.
    $ git prune --verbose
    try on your machine
    explain this command
  • git-prune:tldr:e055c git-prune: Report what would be removed by Git prune without removing it.
    $ git prune --dry-run
    try on your machine
    explain this command
  • git-pull:tldr:6f808 git-pull: Download changes from default remote repository and merge it.
    $ git pull
    try on your machine
    explain this command
  • git-push:tldr:0380e git-push: Send local changes in the current branch to its default remote counterpart.
    $ git push
    try on your machine
    explain this command
  • git-push:tldr:1d688 git-push: Send changes from a specific local branch to its remote counterpart.
    $ git push ${remote_name} ${local_branch}
    try on your machine
    explain this command
  • git-push:tldr:6aeca git-push: Send changes from a specific local branch to its remote counterpart, and set the remote one as the default push/pull target of the local one.
    $ git push -u ${remote_name} ${local_branch}
    try on your machine
    explain this command
  • git-push:tldr:6d98e git-push: Remove remote branches that don't have a local counterpart.
    $ git push --prune ${remote_name}
    try on your machine
    explain this command
  • git-push:tldr:9a789 git-push: Send changes on all local branches to their counterparts in a given remote repository.
    $ git push --all ${remote_name}
    try on your machine
    explain this command
  • git-push:tldr:ce51c git-push: Send changes from a specific local branch to a specific remote branch.
    $ git push ${remote_name} ${local_branch}:${remote_branch}
    try on your machine
    explain this command
  • git-push:tldr:f6c1a git-push: Publish tags that aren't yet in the remote repository.
    $ git push --tags
    try on your machine
    explain this command
  • git-range-diff:tldr:16a55 git-range-diff: Diff the changes of two individual commits.
    $ git range-diff ${commit_1}^! ${commit_2}^!
    try on your machine
    explain this command
  • git-range-diff:tldr:2c503 git-range-diff: Diff the changes of two commit ranges, e.g. to check whether conflicts have been resolved appropriately when rebasing commits from `base1` to `base2`.
    $ git range-diff ${base1}..${rev1} ${base2}..${rev2}
    try on your machine
    explain this command
  • git-range-diff:tldr:a2deb git-range-diff: Diff the changes of ours and theirs from their common ancestor, e.g. after an interactive rebase.
    $ git range-diff ${theirs}...${ours}
    try on your machine
    explain this command
  • git-reauthor:tldr:16270 git-reauthor: Change the email and name of all commits, regardless of their original author.
    $ git reauthor --all --correct-email ${name@example-com} --correct-name ${name}
    try on your machine
    explain this command
  • git-reauthor:tldr:89ce7 git-reauthor: Change the email and name to the ones defined in the Git config.
    $ git reauthor --old-email ${old@example-com} --use-config
    try on your machine
    explain this command
  • git-reauthor:tldr:b02c3 git-reauthor: Change an author's email and name across the whole Git repository.
    $ git reauthor --old-email ${old@example-com} --correct-email ${new@example-com} --correct-name "${name}"
    try on your machine
    explain this command
  • git-rebase:tldr:12fb5 git-rebase: Rebase the current branch on top of another specified branch.
    $ git rebase ${new_base_branch}
    try on your machine
    explain this command
  • git-rebase:tldr:34e3a git-rebase: Auto-resolve any conflicts by favoring the working branch version (`theirs` keyword has reversed meaning in this case).
    $ git rebase -X theirs ${branch_name}
    try on your machine
    explain this command
  • git-rebase:tldr:44488 git-rebase: Abort a rebase in progress (e.g. if it is interrupted by a merge conflict).
    $ git rebase --abort
    try on your machine
    explain this command
  • git-rebase:tldr:9640a git-rebase: Start an interactive rebase, which allows the commits to be reordered, omitted, combined or modified.
    $ git rebase -i ${target_base_branch_or_commit_hash}
    try on your machine
    explain this command
  • git-rebase:tldr:a26ec git-rebase: Continue a rebase that was interrupted by a merge failure, after editing conflicting files.
    $ git rebase --continue
    try on your machine
    explain this command
  • git-rebase:tldr:c6f17 git-rebase: Continue a rebase that was paused due to merge conflicts, by skipping the conflicted commit.
    $ git rebase --skip
    try on your machine
    explain this command
  • git-rebase:tldr:e9841 git-rebase: Move part of the current branch onto a new base, providing the old base to start from.
    $ git rebase --onto ${new_base} ${old_base}
    try on your machine
    explain this command
  • git-reflog:tldr:60672 git-reflog: Show only the 5 latest entries in the reflog.
    $ git reflog -n ${5}
    try on your machine
    explain this command
  • git-reflog:tldr:6a19b git-reflog: Show the reflog for a given branch.
    $ git reflog ${branch_name}
    try on your machine
    explain this command
  • git-reflog:tldr:775f3 git-reflog: Show the reflog for HEAD.
    $ git reflog
    try on your machine
    explain this command
  • git-release:tldr:9b178 git-release: Create and push a release.
    $ git release ${tag_name}
    try on your machine
    explain this command
  • git-release:tldr:cb50f git-release: Create and push a release with a message.
    $ git release ${{tag_name}} -m "${message}"
    try on your machine
    explain this command
  • git-release:tldr:e3e5e git-release: Create and push a signed release.
    $ git release ${tag_name} -s
    try on your machine
    explain this command
  • git-remote:tldr:35071 git-remote: Add a remote.
    $ git remote add ${remote_name} ${remote_url}
    try on your machine
    explain this command
  • git-remote:tldr:45222 git-remote: Change the URL of a remote (use `--add` to keep the existing URL).
    $ git remote set-url ${remote_name} ${new_url}
    try on your machine
    explain this command
  • git-remote:tldr:67aa9 git-remote: Remove a remote.
    $ git remote remove ${remote_name}
    try on your machine
    explain this command
  • git-remote:tldr:70497 git-remote: Rename a remote.
    $ git remote rename ${old_name} ${new_name}
    try on your machine
    explain this command
  • git-remote:tldr:86f06 git-remote: Show the URL of a remote.
    $ git remote get-url ${remote_name}
    try on your machine
    explain this command
  • git-remote:tldr:94e33 git-remote: Show information about a remote.
    $ git remote show ${remote_name}
    try on your machine
    explain this command
  • git-remote:tldr:b78ac git-remote: Show a list of existing remotes, their names and URL.
    $ git remote -v
    try on your machine
    explain this command
  • git-rename-branch:tldr:40008 git-rename-branch: Rename the branch you are currently on.
    $ git rename-branch ${new_branch_name}
    try on your machine
    explain this command
  • git-rename-branch:tldr:55cd1 git-rename-branch: Rename a specific branch.
    $ git rename-branch ${old_branch_name} ${new_branch_name}
    try on your machine
    explain this command
  • git-rename-remote:tldr:f3620 git-rename-remote: Change the upstream remote to origin.
    $ git rename-remote ${upstream} ${origin}
    try on your machine
    explain this command
  • git-rename-tag:tldr:3eb31 git-rename-tag: Rename an existing Git tag locally and remotely.
    $ git rename-tag ${old_tag_name} ${new_tag_name}
    try on your machine
    explain this command
  • git-repack:tldr:8f744 git-repack: Also remove redundant objects after packing.
    $ git repack -d
    try on your machine
    explain this command
  • git-repack:tldr:a224a git-repack: Pack unpacked objects in the current directory.
    $ git repack
    try on your machine
    explain this command
  • git-repl:tldr:0f505 git-repl: Start an interactive Git shell.
    $ git repl
    try on your machine
    explain this command
  • git-replace:tldr:21878 git-replace: Delete existing replace refs for the given objects.
    $ git replace --delete ${object}
    try on your machine
    explain this command
  • git-replace:tldr:81630 git-replace: Edit an object’s content interactively.
    $ git replace --edit ${object}
    try on your machine
    explain this command
  • git-replace:tldr:8e93f git-replace: Replace any commit with a different one, leaving other commits unchanged.
    $ git replace ${object} ${replacement}
    try on your machine
    explain this command
  • git-request-pull:tldr:aa210 git-request-pull: Produce a request summarizing the changes between the v1.1 release and a specified branch.
    $ git request-pull ${v1-1} ${https:--example-com-project} ${branch_name}
    try on your machine
    explain this command
  • git-reset-file:tldr:a2b8d git-reset-file: Reset a file to a specific commit.
    $ git reset-file ${filename} ${commit_hash}
    try on your machine
    explain this command
  • git-reset:tldr:71b93 git-reset: Discard any uncommitted changes, staged or not (for only unstaged changes, use `git checkout`).
    $ git reset --hard
    try on your machine
    explain this command
  • git-reset:tldr:8815b git-reset: Unstage everything.
    $ git reset
    try on your machine
    explain this command
  • git-reset:tldr:c6f07 git-reset: Reset the repository to a given commit, discarding committed, staged and uncommitted changes since then.
    $ git reset --hard ${commit}
    try on your machine
    explain this command
  • git-reset:tldr:ce8b7 git-reset: Unstage specific file(s).
    $ git reset ${filename1 filename2 ---}
    try on your machine
    explain this command
  • git-reset:tldr:fa302 git-reset: Undo the last two commits, adding their changes to the index, i.e. staged for commit.
    $ git reset --soft HEAD~2
    try on your machine
    explain this command
  • git-reset:tldr:fb527 git-reset: Interactively unstage portions of a file.
    $ git reset --patch ${filename}
    try on your machine
    explain this command
  • git-restore:tldr:0d415 git-restore: Discard all changes to files, both staged and unstaged.
    $ git restore --worktree --staged :/
    try on your machine
    explain this command
  • git-restore:tldr:27609 git-restore: Interactively select sections of files to restore.
    $ git restore --patch
    try on your machine
    explain this command
  • git-restore:tldr:4b642 git-restore: Unstage all files.
    $ git restore --staged :/
    try on your machine
    explain this command
  • git-restore:tldr:620e7 git-restore: Restore an unstaged file to the version of a specific commit.
    $ git restore --source ${commit} ${filename}
    try on your machine
    explain this command
  • git-restore:tldr:66e44 git-restore: Unstage a file.
    $ git restore --staged ${filename}
    try on your machine
    explain this command
  • git-restore:tldr:8d64d git-restore: Restore an unstaged file to the version of the current commit (HEAD).
    $ git restore ${filename}
    try on your machine
    explain this command
  • git-restore:tldr:9f64e git-restore: Discard all unstaged changes to tracked files.
    $ git restore :/
    try on your machine
    explain this command
  • git-rev-list:tldr:0a184 git-rev-list: Print the number of commits since a specific tag.
    $ git rev-list ${tag_name}..HEAD --count
    try on your machine
    explain this command
  • git-rev-list:tldr:3c416 git-rev-list: List commits more recent than a specific date, on a specific branch.
    $ git rev-list --since=${'2019-12-01 00:00:00'} ${branch_name}
    try on your machine
    explain this command
  • git-rev-list:tldr:3fcb8 git-rev-list: List all commits on the current branch.
    $ git rev-list ${HEAD}
    try on your machine
    explain this command
  • git-rev-list:tldr:a2a40 git-rev-list: List all merge commits on a specific commit.
    $ git rev-list --merges ${commit}
    try on your machine
    explain this command
  • git-rev-parse:tldr:871f2 git-rev-parse: Get the absolute path to the root directory.
    $ git rev-parse --show-toplevel
    try on your machine
    explain this command
  • git-rev-parse:tldr:88bca git-rev-parse: Get the current branch name.
    $ git rev-parse --abbrev-ref ${HEAD}
    try on your machine
    explain this command
  • git-rev-parse:tldr:c8ced git-rev-parse: Get the commit hash of a branch.
    $ git rev-parse ${branch_name}
    try on your machine
    explain this command
  • git-revert:tldr:11f47 git-revert: Don't create new commits, just change the working tree.
    $ git revert -n ${0c01a9--9a1743}
    try on your machine
    explain this command
  • git-revert:tldr:3252a git-revert: Revert the 5th last commit.
    $ git revert HEAD~${4}
    try on your machine
    explain this command
  • git-revert:tldr:81f0b git-revert: Revert the most recent commit.
    $ git revert ${HEAD}
    try on your machine
    explain this command
  • git-rm:tldr:877eb git-rm: Remove file from repository index but keep it untouched locally.
    $ git rm --cached ${filename}
    try on your machine
    explain this command
  • git-rm:tldr:9c025 git-rm: Remove file from repository index and filesystem.
    $ git rm ${filename}
    try on your machine
    explain this command
  • git-rm:tldr:ffa26 git-rm: Remove directory.
    $ git rm -r ${path-to-directory}
    try on your machine
    explain this command
  • git-root:tldr:cdc73 git-root: Print the absolute path of the current Git repository.
    $ git root
    try on your machine
    explain this command
  • git-root:tldr:ef2ba git-root: Print the current working directory relative to the root of the current Git repository.
    $ git root --relative
    try on your machine
    explain this command
  • git-scp:tldr:139fb git-scp: Copy files that has been changed in the last commit and any staged or unstaged files to a remote.
    $ git scp ${remote_name} HEAD~1
    try on your machine
    explain this command
  • git-scp:tldr:1900c git-scp: Copy staged and unstaged files to a remote.
    $ git scp ${remote_name} HEAD
    try on your machine
    explain this command
  • git-scp:tldr:202dd git-scp: Copy specific files to a remote.
    $ git scp ${remote_name} ${filename1 filename2 ---}
    try on your machine
    explain this command
  • git-secret:tldr:239f0 git-secret: List emails with access to secrets.
    $ git secret whoknows
    try on your machine
    explain this command
  • git-secret:tldr:772ec git-secret: Revoke access by email.
    $ git secret killperson ${email}
    try on your machine
    explain this command
  • git-secret:tldr:abece git-secret: Grant access by email.
    $ git secret tell ${email}
    try on your machine
    explain this command
  • git-secret:tldr:b0b43 git-secret: Initialize `git-secret` in a local repository.
    $ git secret init
    try on your machine
    explain this command
  • git-secret:tldr:ccabe git-secret: Register a secret file.
    $ git secret add ${filename}
    try on your machine
    explain this command
  • git-secret:tldr:d3e2f git-secret: Encrypt secrets.
    $ git secret hide
    try on your machine
    explain this command
  • git-secret:tldr:f39aa git-secret: Decrypt secret files.
    $ git secret reveal
    try on your machine
    explain this command
  • git-secret:tldr:f9c18 git-secret: Grant access to the current Git user's email.
    $ git secret tell -m
    try on your machine
    explain this command
  • git-sed:tldr:1b34f git-sed: Replace the specified text in the current repository.
    $ git sed '${find_text}' '${replace_text}'
    try on your machine
    explain this command
  • git-sed:tldr:3f71b git-sed: Replace the specified text, using regular expressions.
    $ git sed -f g '${find_text}' '${replace_text}'
    try on your machine
    explain this command
  • git-sed:tldr:8d41d git-sed: Replace the specified text and then commit the resulting changes with a standard commit message.
    $ git sed -c '${find_text}' '${replace_text}'
    try on your machine
    explain this command
  • git-send-email:tldr:43aba git-send-email: Send multiple (e.g. 10) commits in the current branch.
    $ git send-email ${-10}
    try on your machine
    explain this command
  • git-send-email:tldr:512da git-send-email: Send an introductory email message for the patch series.
    $ git send-email -${number_of_commits} --compose
    try on your machine
    explain this command
  • git-send-email:tldr:92c16 git-send-email: Review and edit the email message for each patch you're about to send.
    $ git send-email -${number_of_commits} --annotate
    try on your machine
    explain this command
  • git-send-email:tldr:b9390 git-send-email: Send a given commit.
    $ git send-email -1 ${commit}
    try on your machine
    explain this command
  • git-send-email:tldr:cfaaa git-send-email: Send the last commit in the current branch.
    $ git send-email -1
    try on your machine
    explain this command
  • git-setup:tldr:0dd51 git-setup: Create a Git repository in a specific directory and commit all files.
    $ git setup ${path-to-directory}
    try on your machine
    explain this command
  • git-setup:tldr:42255 git-setup: Create a Git repository in the current directory and commit all files.
    $ git setup
    try on your machine
    explain this command
  • git-shortlog:tldr:3e708 git-shortlog: View all users, emails and the number of commits in the current branch.
    $ git shortlog -sne
    try on your machine
    explain this command
  • git-shortlog:tldr:907f5 git-shortlog: View a summary of all the commits made, grouped alphabetically by author name.
    $ git shortlog
    try on your machine
    explain this command
  • git-shortlog:tldr:93a5b git-shortlog: View all users, emails and the number of commits in all branches.
    $ git shortlog -sne --all
    try on your machine
    explain this command
  • git-shortlog:tldr:bc689 git-shortlog: View a summary of all the commits made, sorted by the number of commits made.
    $ git shortlog -n
    try on your machine
    explain this command
  • git-shortlog:tldr:c97d4 git-shortlog: View a summary of all the commits made, grouped by the committer identities (name and email).
    $ git shortlog -c
    try on your machine
    explain this command
  • git-show-branch:tldr:373b8 git-show-branch: Compare both local and remote tracking branches.
    $ git show-branch --all
    try on your machine
    explain this command
  • git-show-branch:tldr:783a4 git-show-branch: Display the commit name instead of the relative name.
    $ git show-branch --sha1-name --current ${select}
    try on your machine
    explain this command
  • git-show-branch:tldr:78952 git-show-branch: List the latest commits in all branches.
    $ git show-branch --all --list
    try on your machine
    explain this command
  • git-show-branch:tldr:b1595 git-show-branch: Compare a given branch with the current branch.
    $ git show-branch --current ${select}
    try on your machine
    explain this command
  • git-show-branch:tldr:cfd5b git-show-branch: Compare commits in the history of multiple commits or branches.
    $ git show-branch ${select}
    try on your machine
    explain this command
  • git-show-branch:tldr:e9c0b git-show-branch: Compare all remote tracking branches.
    $ git show-branch --remotes
    try on your machine
    explain this command
  • git-show-branch:tldr:f1a5e git-show-branch: Keep going a given number of commits past the common ancestor.
    $ git show-branch --more ${5} ${select} ${select} ${---}
    try on your machine
    explain this command
  • git-show-index:tldr:47292 git-show-index: Read an IDX file for a Git packfile and dump its contents to `stdout`.
    $ git show-index ${filename-idx}
    try on your machine
    explain this command
  • git-show-index:tldr:ccb57 git-show-index: Specify the hash algorithm for the index file (experimental).
    $ git show-index --object-format=${select} ${filename}
    try on your machine
    explain this command
  • git-show-merged-branches:tldr:feea3 git-show-merged-branches: Print all branches which are merged into the current head.
    $ git show-merged-branches
    try on your machine
    explain this command
  • git-show-ref:tldr:76cfc git-show-ref: Verify that a given reference exists.
    $ git show-ref --verify ${path-to-ref}
    try on your machine
    explain this command
  • git-show-ref:tldr:873a1 git-show-ref: Show only tags references.
    $ git show-ref --tags
    try on your machine
    explain this command
  • git-show-ref:tldr:964b8 git-show-ref: Show all refs in the repository.
    $ git show-ref
    try on your machine
    explain this command
  • git-show-ref:tldr:edd7e git-show-ref: Show only heads references.
    $ git show-ref --heads
    try on your machine
    explain this command
  • git-show-tree:tldr:1d125 git-show-tree: Show a decorated tree graph for all branches annotated with tags and branch names.
    $ git show-tree
    try on your machine
    explain this command
  • git-show-unmerged-branches:tldr:2f647 git-show-unmerged-branches: Print all branches which are not merged into the current HEAD.
    $ git show-unmerged-branches
    try on your machine
    explain this command
  • git-show:tldr:186b8 git-show: Show only statistics (added/removed characters) about the changed files.
    $ git show --stat ${commit}
    try on your machine
    explain this command
  • git-show:tldr:1c0f8 git-show: Show information about a given commit.
    $ git show ${commit}
    try on your machine
    explain this command
  • git-show:tldr:25b2c git-show: Show the contents of a file as it was at a given revision (e.g. branch, tag or commit).
    $ git show ${revision}:${filename}
    try on your machine
    explain this command
  • git-show:tldr:3b424 git-show: Show a commit's message in a single line, suppressing the diff output.
    $ git show --oneline -s ${commit}
    try on your machine
    explain this command
  • git-show:tldr:53105 git-show: Show only the list of added, renamed or deleted files.
    $ git show --summary ${commit}
    try on your machine
    explain this command
  • git-show:tldr:7138e git-show: Show information about the latest commit (hash, message, changes, and other metadata).
    $ git show
    try on your machine
    explain this command
  • git-show:tldr:85157 git-show: Show information about the 3rd commit from the HEAD of a branch.
    $ git show ${branch}~${3}
    try on your machine
    explain this command
  • git-sizer:tldr:7af60 git-sizer: Report only statistics that have a level of concern greater than 0.
    $ git sizer
    try on your machine
    explain this command
  • git-sizer:tldr:8dc08 git-sizer: Report all statistics.
    $ git sizer -v
    try on your machine
    explain this command
  • git-squash:tldr:24ba4 git-squash: Squash the `n` latest commits and commit concatenating all individual messages.
    $ git squash --squash-msg HEAD~${n}
    try on your machine
    explain this command
  • git-squash:tldr:37bb1 git-squash: Squash the `n` latest commits and commit with a message.
    $ git squash HEAD~${n} "${message}"
    try on your machine
    explain this command
  • git-squash:tldr:b4dde git-squash: Merge all commits from a specific branch into the current branch as a single commit.
    $ git squash ${source_branch}
    try on your machine
    explain this command
  • git-stage:tldr:442c6 git-stage: Add a file to the index.
    $ git stage ${filename}
    try on your machine
    explain this command
  • git-stage:tldr:49313 git-stage: Interactively stage parts of files.
    $ git stage -p
    try on your machine
    explain this command
  • git-stage:tldr:a50d0 git-stage: Also add ignored files.
    $ git stage -f
    try on your machine
    explain this command
  • git-stage:tldr:af769 git-stage: Interactively stage a file.
    $ git stage -i
    try on your machine
    explain this command
  • git-stage:tldr:e411b git-stage: Only add already tracked files.
    $ git stage -u
    try on your machine
    explain this command
  • git-stage:tldr:f2130 git-stage: Add all files (tracked and untracked).
    $ git stage -A
    try on your machine
    explain this command
  • git-stage:tldr:fa823 git-stage: Interactively stage parts of a given file.
    $ git stage -p ${filename}
    try on your machine
    explain this command
  • git-stamp:tldr:3f9d9 git-stamp: Stamp the last commit message replacing previous issues with a new one.
    $ git stamp --replace ${issue_number}
    try on your machine
    explain this command
  • git-stamp:tldr:fd7e4 git-stamp: Stamp the last commit message referencing it with the issue number from your bug tracker.
    $ git stamp ${issue_number}
    try on your machine
    explain this command
  • git-standup:tldr:0a4d6 git-standup: Show a given author's commits from the last 10 days and whether they are GPG signed.
    $ git standup -a {select}} -d ${10} -g
    try on your machine
    explain this command
  • git-standup:tldr:30347 git-standup: Show all the commits from all contributors for the last 10 days.
    $ git standup -a all -d ${10}
    try on your machine
    explain this command
  • git-standup:tldr:3c64f git-standup: Show a given author's commits from the last 10 days.
    $ git standup -a ${select} -d ${10}
    try on your machine
    explain this command
  • git-standup:tldr:a6247 git-standup: Display help.
    $ git standup -h
    try on your machine
    explain this command
  • git-stash:tldr:3400e git-stash: List all stashes (shows stash name, related branch and message).
    $ git stash list
    try on your machine
    explain this command
  • git-stash:tldr:34a62 git-stash: Apply a stash (default is the latest, named stash@{0}).
    $ git stash apply ${optional_stash_name_or_commit}
    try on your machine
    explain this command
  • git-stash:tldr:3b89f git-stash: Stash current changes, except new (untracked) files.
    $ git stash push -m ${optional_stash_message}
    try on your machine
    explain this command
  • git-stash:tldr:a0937 git-stash: Show the changes as a patch between the stash (default is stash@{0}) and the commit back when stash entry was first created.
    $ git stash show -p ${stash@{0}}
    try on your machine
    explain this command
  • git-stash:tldr:daee8 git-stash: Drop all stashes.
    $ git stash clear
    try on your machine
    explain this command
  • git-stash:tldr:dddff git-stash: Stash current changes, including new (untracked) files.
    $ git stash -u
    try on your machine
    explain this command
  • git-stash:tldr:e1079 git-stash: Drop or apply a stash (default is stash@{0}) and remove it from the stash list if applying doesn't cause conflicts.
    $ git stash pop ${optional_stash_name}
    try on your machine
    explain this command
  • git-stash:tldr:f3245 git-stash: Interactively select parts of changed files for stashing.
    $ git stash -p
    try on your machine
    explain this command
  • git-status:tldr:20e69 git-status: Show output in [s]hort format along with [b]ranch info.
    $ git status -sb
    try on your machine
    explain this command
  • git-status:tldr:6ca42 git-status: Show changed files which are not yet added for commit.
    $ git status
    try on your machine
    explain this command
  • git-status:tldr:c2c66 git-status: Don't show untracked files in the output.
    $ git status --untracked-files=no
    try on your machine
    explain this command
  • git-status:tldr:ccbb7 git-status: Give output in [s]hort format.
    $ git status -s
    try on your machine
    explain this command
  • git-stripspace:tldr:67496 git-stripspace: Convert all lines in a file into Git comments.
    $ git stripspace --comment-lines < ${filename}
    try on your machine
    explain this command
  • git-submodule:tldr:35ef4 git-submodule: Update every submodule to its latest commit.
    $ git submodule foreach git pull
    try on your machine
    explain this command
  • git-submodule:tldr:5a4b1 git-submodule: Add a Git repository as a submodule.
    $ git submodule add ${repository_url}
    try on your machine
    explain this command
  • git-submodule:tldr:e5932 git-submodule: Add a Git repository as a submodule at the specified directory.
    $ git submodule add ${repository_url} ${path-to-directory}
    try on your machine
    explain this command
  • git-submodule:tldr:ff33f git-submodule: Install a repository's specified submodules.
    $ git submodule update --init --recursive
    try on your machine
    explain this command
  • git-subtree:tldr:186b5 git-subtree: Merge recent changes up to the latest subtree commit into the subtree.
    $ git subtree merge --prefix=${path-to-directory-} --squash ${repository_url} ${branch_name}
    try on your machine
    explain this command
  • git-subtree:tldr:6ae06 git-subtree: Extract a new project history from the history of a subtree.
    $ git subtree split --prefix=${path-to-directory-} ${repository_url} -b ${branch_name}
    try on your machine
    explain this command
  • git-subtree:tldr:759e1 git-subtree: Add a Git repository as a subtree.
    $ git subtree add --prefix=${path-to-directory-} --squash ${repository_url} ${branch_name}
    try on your machine
    explain this command
  • git-subtree:tldr:93bdc git-subtree: Update subtree repository to its latest commit.
    $ git subtree pull --prefix=${path-to-directory-} ${repository_url} ${branch_name}
    try on your machine
    explain this command
  • git-subtree:tldr:cc8a1 git-subtree: Push commits to a subtree repository.
    $ git subtree push --prefix=${path-to-directory-} ${repository_url} ${branch_name}
    try on your machine
    explain this command
  • git-summary:tldr:10782 git-summary: Display data about a Git repository since a commit-ish.
    $ git summary ${select}
    try on your machine
    explain this command
  • git-summary:tldr:8cb9d git-summary: Display data about a Git repository.
    $ git summary
    try on your machine
    explain this command
  • git-summary:tldr:e6db4 git-summary: Display data about a Git repository, showing the number of lines modified by each contributor.
    $ git summary --line
    try on your machine
    explain this command
  • git-summary:tldr:eee12 git-summary: Display data about a Git repository, merging committers using different emails into 1 statistic for each author.
    $ git summary --dedup-by-email
    try on your machine
    explain this command
  • git-svn:tldr:a11aa git-svn: Commit back to the SVN repository.
    $ git svn dcommit
    try on your machine
    explain this command
  • git-svn:tldr:a271d git-svn: Clone an SVN repository starting at a given revision number.
    $ git svn clone -r${1234}:HEAD ${https:--svn-example-net-subversion-repo} ${local_dir}
    try on your machine
    explain this command
  • git-svn:tldr:a7eaa git-svn: Fetch updates from the remote SVN repository without changing the Git HEAD.
    $ git svn fetch
    try on your machine
    explain this command
  • git-svn:tldr:e82e1 git-svn: Update local clone from the remote SVN repository.
    $ git svn rebase
    try on your machine
    explain this command
  • git-svn:tldr:edcb3 git-svn: Clone an SVN repository.
    $ git svn clone ${https:--example-com-subversion_repo} ${local_dir}
    try on your machine
    explain this command
  • git-switch:tldr:0dd9f git-switch: Switch to an existing branch.
    $ git switch ${branch_name}
    try on your machine
    explain this command
  • git-switch:tldr:369b4 git-switch: Switch to the previous branch.
    $ git switch -
    try on your machine
    explain this command
  • git-switch:tldr:ba9ca git-switch: Create a new branch based on an existing commit and switch to it.
    $ git switch --create ${branch_name} ${commit}
    try on your machine
    explain this command
  • git-switch:tldr:cbd26 git-switch: Create a new branch and switch to it.
    $ git switch --create ${branch_name}
    try on your machine
    explain this command
  • git-switch:tldr:d8266 git-switch: Switch to a branch and update all submodules to match.
    $ git switch --recurse-submodules ${branch_name}
    try on your machine
    explain this command
  • git-switch:tldr:d9efe git-switch: Switch to a branch and automatically merge the current branch and any uncommitted changes into it.
    $ git switch --merge ${branch_name}
    try on your machine
    explain this command
  • git-symbolic-ref:tldr:3f1be git-symbolic-ref: Store a reference by name, including a message with a reason for the update.
    $ git symbolic-ref -m "${message}" refs/${name} refs/heads/${branch_name}
    try on your machine
    explain this command
  • git-symbolic-ref:tldr:71194 git-symbolic-ref: Read a reference by name.
    $ git symbolic-ref refs/${name}
    try on your machine
    explain this command
  • git-symbolic-ref:tldr:838a9 git-symbolic-ref: For scripting, hide errors with `--quiet` and use `--short` to simplify ("refs/heads/X" prints as "X").
    $ git symbolic-ref --quiet --short refs/${name}
    try on your machine
    explain this command
  • git-symbolic-ref:tldr:cb2c4 git-symbolic-ref: Delete a reference by name.
    $ git symbolic-ref --delete refs/${name}
    try on your machine
    explain this command
  • git-sync:tldr:2cd1a git-sync: Sync the current local branch with the remote main branch.
    $ git sync origin main
    try on your machine
    explain this command
  • git-sync:tldr:54a8c git-sync: Sync without cleaning untracked files.
    $ git sync -s ${remote_name} ${branch_name}
    try on your machine
    explain this command
  • git-sync:tldr:b34d8 git-sync: Sync the current local branch with its remote branch.
    $ git sync
    try on your machine
    explain this command
  • git-tag:tldr:12026 git-tag: Create an annotated tag with the given message.
    $ git tag ${tag_name} -m ${tag_message}
    try on your machine
    explain this command
  • git-tag:tldr:28e24 git-tag: Create a tag with the given name pointing to a given commit.
    $ git tag ${tag_name} ${commit}
    try on your machine
    explain this command
  • git-tag:tldr:2968d git-tag: List all tags.
    $ git tag
    try on your machine
    explain this command
  • git-tag:tldr:7b7b4 git-tag: Create a tag with the given name pointing to the current commit.
    $ git tag ${tag_name}
    try on your machine
    explain this command
  • git-tag:tldr:8625c git-tag: Delete the tag with the given name.
    $ git tag -d ${tag_name}
    try on your machine
    explain this command
  • git-tag:tldr:d44a9 git-tag: List all tags whose ancestors include a given commit.
    $ git tag --contains ${commit}
    try on your machine
    explain this command
  • git-touch:tldr:9bb59 git-touch: Create new files and add them to the index.
    $ git touch ${filename1 filename2 ---}
    try on your machine
    explain this command
  • git-undo:tldr:e9161 git-undo: Remove a specific number of the most recent commits.
    $ git undo ${3}
    try on your machine
    explain this command
  • git-undo:tldr:f3fd6 git-undo: Remove the most recent commit.
    $ git undo
    try on your machine
    explain this command
  • git-unlock:tldr:f31e4 git-unlock: Enable the ability to commit changes of a previously-locked local file.
    $ git unlock ${filename}
    try on your machine
    explain this command
  • git-unpack-file:tldr:ff018 git-unpack-file: Create a file holding the contents of the blob specified by its ID then print the name of the temporary file.
    $ git unpack-file ${blob_id}
    try on your machine
    explain this command
  • git-update-index:tldr:7eee7 git-update-index: Pretend that a modified file is unchanged (`git status` will not show this as changed).
    $ git update-index --skip-worktree ${path-to-modified_file}
    try on your machine
    explain this command
  • git-update-ref:tldr:2f20a git-update-ref: Delete a ref, useful for soft resetting the first commit.
    $ git update-ref -d ${HEAD}
    try on your machine
    explain this command
  • git-update-ref:tldr:e1073 git-update-ref: Update ref with a message.
    $ git update-ref -m ${message} ${HEAD} ${4e95e05}
    try on your machine
    explain this command
  • git-utimes:tldr:1b738 git-utimes: Change files modification time that are newer than their last commit date, preserving original modification time of files that were committed from the local repository.
    $ git utimes --newer
    try on your machine
    explain this command
  • git-utimes:tldr:60075 git-utimes: Change all files modification time to their last commit date.
    $ git utimes
    try on your machine
    explain this command
  • git-var:tldr:081db git-var: Print the value of a Git logical variable.
    $ git var ${select}
    try on your machine
    explain this command
  • git-var:tldr:1497f git-var: [l]ist all Git logical variables.
    $ git var -l
    try on your machine
    explain this command
  • git-verify-commit:tldr:26153 git-verify-commit: Check commits for a GPG signature and print the raw details.
    $ git verify-commit ${commit_hash1 optional_commit_hash2 ---} --raw
    try on your machine
    explain this command
  • git-verify-commit:tldr:4cdbb git-verify-commit: Check commits for a GPG signature and show details of each commit.
    $ git verify-commit ${commit_hash1 optional_commit_hash2 ---} --verbose
    try on your machine
    explain this command
  • git-verify-commit:tldr:c9f5d git-verify-commit: Check commits for a GPG signature.
    $ git verify-commit ${commit_hash1 optional_commit_hash2 ---}
    try on your machine
    explain this command
  • git-verify-tag:tldr:0b460 git-verify-tag: Check tags for a GPG signature and show details for each tag.
    $ git verify-tag ${tag1 optional_tag2 ---} --verbose
    try on your machine
    explain this command
  • git-verify-tag:tldr:c2862 git-verify-tag: Check tags for a GPG signature and print the raw details.
    $ git verify-tag ${tag1 optional_tag2 ---} --raw
    try on your machine
    explain this command
  • git-verify-tag:tldr:fbcd5 git-verify-tag: Check tags for a GPG signature.
    $ git verify-tag ${tag1 optional_tag2 ---}
    try on your machine
    explain this command
  • git-whatchanged:tldr:9b1d7 git-whatchanged: Display logs and changes for recent commits for specific files or directories.
    $ git whatchanged ${filename_or_directory}
    try on your machine
    explain this command
  • git-whatchanged:tldr:bf666 git-whatchanged: Display logs and changes for recent commits within the specified time frame.
    $ git whatchanged --since="${2 hours ago}"
    try on your machine
    explain this command
  • git-whatchanged:tldr:c926c git-whatchanged: Display logs and changes for recent commits.
    $ git whatchanged
    try on your machine
    explain this command
  • git-worktree:tldr:13a11 git-worktree: List all the working directories attached to this repository.
    $ git worktree list
    try on your machine
    explain this command
  • git-worktree:tldr:27256 git-worktree: Create a new directory with the specified branch checked out into it.
    $ git worktree add ${path-to-directory} ${branch}
    try on your machine
    explain this command
  • git-worktree:tldr:2b1f7 git-worktree: Create a new directory with a new branch checked out into it.
    $ git worktree add ${path-to-directory} -b ${new_branch}
    try on your machine
    explain this command
  • git-worktree:tldr:73fa2 git-worktree: Remove a worktree (after deleting worktree directory).
    $ git worktree prune
    try on your machine
    explain this command
  • git:branch:create-remote Create new git remote branch
    $ git checkout -b ${branch_name}
    $ git push ${remote_name} ${branch_name}
    try on your machine
  • git:branch:delete-local Delete local git branch
    $ git branch --delete ${branch_name}
    try on your machine
  • git:branch:delete-remote Delete remote git branch
    $ git push -d ${remote_name} ${branch_name}
    try on your machine
  • git:clone:with-ssh Clone git repository with specific SSH Key and User
    $ git -c core.sshCommand='ssh -i ${sshKeyPath} -o IdentitiesOnly=yes' clone ${repositoryUrl} ${targetFolder}
    $ cd ${targetFolder}
    $ git config core.sshCommand 'ssh -i ${sshKeyPath}'
    $ git config user.name "${userName}"
    $ git config user.email ${userEmail}
    try on your machine
  • git:commit:modify-recent-message Modify the most recent commit message
    $ git commit --amend -m "${new_commit_message}"
    try on your machine
  • git:commit:most-recent:undo Undo most recent git commit
    $ git reset HEAD~
    try on your machine
    explain this command
  • git:commits:squash Squash last n commits together
    $ git reset --soft HEAD~${num_commits} && git commit
    try on your machine
  • git:remote:change-url Change URL of remote git repository
    $ git remote set-url origin ${url}
    try on your machine
  • git:repository:clone Clones a git repository to your local machine.
    $ git clone ${repository_url}
    try on your machine
    explain this command
  • git:subcommand:execute Execute a Git subcommand.
    $ git ${subcommand}
    try on your machine
    explain this command
  • git:tldr:0ff3c git: Execute a Git subcommand with a given configuration set.
    $ git -c '${config-key}=${value}' ${subcommand}
    try on your machine
    explain this command
  • git:tldr:3c8f6 git: Check the Git version.
    $ git --version
    try on your machine
    explain this command
  • git:tldr:a77fc git: Execute a Git subcommand on a custom repository root path.
    $ git -C ${path-to-repo} ${subcommand}
    try on your machine
    explain this command
  • git:tldr:bc32b git: Show general help.
    $ git --help
    try on your machine
    explain this command
  • git:username:update Change username of git
    $ git config --global user.name '${username}'
    try on your machine
    explain this command
  • git:warp:037e8 Delete newly git-ignored files from your repository
    $ git rm -r --cached .
    $ git add .
    try on your machine
    explain this command
  • git:warp:1ded8 Reset file back to git revision
    $ git reset ${commit_hash} ${file_name}
    try on your machine
    explain this command
  • git:warp:4cd87 Rebase master into feature branch
    $ git checkout
    $ git checkout master
    $ git pull origin master
    $ git checkout -
    $ git pull origin master --rebase
    try on your machine
    explain this command
  • git:warp:58feb Push a tag to a remote git repository
    $ git push origin ${tag_name}
    try on your machine
    explain this command
  • git:warp:7aa6a Set upstream branch
    $ git branch --set-upstream-to=${remote}/${remote_branch} ${local_branch}
    try on your machine
    explain this command
  • git:warp:b08e8 Reset local branch to match remote branch
    $ git fetch ${remote}
    $ git reset --hard ${remote}/${branch}
    try on your machine
    explain this command
  • git:warp:cbf3b Synchronize upstream branch
    $ git push -u origin HEAD
    try on your machine
    explain this command
  • git:warp:fe5a7 Delete local and remote git branch
    $ git push -d ${remote_name} ${branch_name}
    $ git branch -d ${branch_name}
    try on your machine
    explain this command
  • legit:tldr:114bc legit: Remove a branch from the remote server.
    $ git unpublish ${branch_name}
    try on your machine
    explain this command
  • legit:tldr:94312 legit: List all branches and their publication status.
    $ git branches ${glob_pattern}
    try on your machine
    explain this command
  • legit:tldr:fe106 legit: Publish a specified branch to the remote server.
    $ git publish ${branch_name}
    try on your machine
    explain this command
  • transcrypt:tldr:7368b transcrypt: List the currently encrypted files.
    $ git ls-crypt
    try on your machine
    explain this command
tool overview