Commands implemented (order based on complexity)
- [ ]
git init
git init --q
git init --template
git init --separate-git-dir<git dir>
git --shared[=(false|true|umask|group|all|world|everybody|0xxx)]
git init unmask
- [ ]
git clone
git clone --template=<template_directory>
git clone -o <name>
git clone[-b <name>
git clone -u <upload-pack>
git clone --dissociate
git clone --separate-git-dir <git dir>
- [ ]
git help
git help --all
git help --[no-]verbose]
git help --guide
git help --info
git help --man
git help --web
- [ ]
git diff
with paramsgit diff --patch
git diff --patch-with-raw
git diff --indent-heuristic
git diff --no-indent-heuristic
git diff --minimal
git diff --histogram
git --diff-algorithm={patience|minimal|histogram|myers}
git diff --compact-summary
git diff --shortstat
git diff --numstat
git diff summary
git diff --color[=<when>]
git diff no
git diff default
git diff --ignore-space-at-eol
git diff function-context
git diff --ignore-blank-lines
- [ ]
git difftool
- [ ]
git clean
with paramsgit clean -d
git clean --force
git clean --interactive
git clean quiet
git clean --dry-run
git clean --exclude=<pattern>
git clean -x
- [ ]
git rm
with paramsgit rm -f
git rm --cached
git rm --quiet
- [ ]
git mv
with paramsgit mv -f
git rm -k
git rm --dry-run
git rm --verbose
- [ ]
git pull
with paramsgit pull --quiet
git pull --verbose
git pull --commit
git pull --no-commit
git pull --log
git pull --no-log
git pull stat
git pull --no-stat
git pull --squash
git pull --no-squash
git pull --summary
git pull --no-summary
git pull --append
git pull --update-shallow
git pull --keep
git pull --ipv4
git pull --ipv6
- [ ]
git bundle
with paramsgit bundle create
git bundle unbundle
- [ ]
git add
with paramsgit add --verbose
git add --force
git add --interactive
git add --update
git add --chmod=(+|-)x
git add --ignore-errors
- [ ]
git commit
with paramsgit commit --patch
git commit --all
git commit --reuse-message=<commit>
git commit --fixup=<commit>
git commit --squash=<commit>
git commit --short
git commit --branch
git commit --long
git commit --null
git commit --porcelain
git commit --author=<author>
git commit --message=<msg>
git commit --date=<date>
git commit --allow-empty
git commit --amend
git commit --only
git commit --quiet
git commit --status
- [ ]
git status
git status --short
git status --branch
git status --show-stash
git status --long
git status --verbose
- [ ]
git merge
with paramsgit merge --stat
git merge --no-commit
git merge --squash
git merge --abort
git merge --continue
- [ ]
git checkout
with paramsgit checkout <branch>
git checkout --detach [<branch>]
git checkout [--detach] <commit>
git checkout --quiet
- [ ]
git reset
with paramsgit reset [<mode>] [<commit>]
git reset --soft
git reset --mixed
git reset --hard
git reset --merge
git reset --keep
- [ ]
git remote
with paramsgit remote [-v | --verbose]
git remote rename <old> <new>
git remote remove <name>
git remote set-head <name> (--delete | <branch>)
git remote get-url [--push] [--all] <name>
git remote set-url [--push] <name> <newurl> [<oldurl>]
git remote set-url --add [--push] <name> <newurl>
git remote set-url --delete [--push] <name> <url>
git remote prune [-n | --dry-run] <name>…
- [ ]
git fetch
with paramsgit fetch [<options>] <group>
git fetch --all [<options>]
git fetch --shallow-since=<date>
git fetch --shallow-exclude=<revision>
git fetch --prune-tags
git fetch --quiet
git fetch --verbose
git fetch <repository>
- [ ]
git archive
with paramsgit archive --format=<fmt|zip>
git archive --list
git archive --verbose
git archive --prefix
git archive --remote=<repo>
git archive --worktree-attributes
- [ ]
git shortlog
with paramsgit log --pretty=short
git shortlog --numbered
git shortlog --summary
git shortlog --email
git shortlog --committer
- [ ]
git push
with paramsgit push --all
git push --prune
git push --mirror
git push --procelain
git push --delete
git push --tags
git push --follow-tags
git push --signed=(true|false|if-asked)
git push --quiet
git push --verbose
- [ ]
git tag
with paramsgit tag --annotate
git tag --sign
git tag --f
git tag --delete
git tag --num
git tag --list
git tag --sort=<key>
git tag --color[=<cond>]
git tag --contains [<commit>]
git tag --no-contains [<commit>]
git tag --create-reflog
git tag commit
- [ ]
git show
with paramsgit show --abbrev-commit
git show --oneline
git show --expand-tabs
git show --no-expand-tabs
git show --notes[=<treeish>]
git show --show-signature
- [ ]
git describe
with paramsgit describe <commit-ish>
git describe --all
git describe --tags
git describe --debug
git describe --long
git describe --match <pattern>
git describe --exclude <pattern>
git describe --always
- [ ]
git log
with paramsgit log --follow
git log --source
git log --full-diff
git log --source
git log --log-size
git log --max-count=<number>
git log --author=<pattern>
git log --committer=<pattern>
git log --grep-reflog=<pattern>
git log --grep=<pattern>
git log --basic-regexp
git log --remove-empty
git log --branches[=<pattern>]
git log --remotes[=<pattern>]
git log --glob=<glob-pattern>
git log --reflog
git log --bisect
git log --stdin
git log --sparse
git log --full-history
git log --notes[=<treeish>]
- [ ]
git credential
- [ ]
git branch
with paramsgit branch --create-reflog
git branch -d
git branch (--set-upstream-to=<upstream> | -u <upstream>) [<branchname>]
git branch --unset-upstream [<branchname>]
- [ ]
git mergetool
with paramsgit mergetool [--tool=<tool>]
- [ ]
git rebase
with paramsgit rebase --interactive <options> --exec <cmd> <upstream> <branch>
git rebase --interactive <options> --exec <cmd> <root> <branch>
git rebase --continue | --skip | --abort | --quit
- [ ]
git revert
with paramsgit revert --continue
git revert --quit
git revert --abort
git revert <commit>
- [ ]
git stash
with paramsgit stash list <options>
git stash show <stash>
git stash drop --quiet <stash>
git stash branch <branchname> <stash>
git stash clear
git stash create <message>
git stash store -m|--message <message>
- [ ]
git blame
with paramsgit log --pretty=oneline -S'blame_usage'
git blame -L :<funcname>
- [ ]
git config
with paramsgit config [<file-option>] [--type=<type>] --add name value
git config [<file-option>] --unset name [value_regex]
git config [<file-option>] --get-color name [default]
- [ ]
git grep
with paramsgit grep grep.lineNumber
git grep grep.column
git grep grep.patternType
git grep grep.extendedRegexp
git grep --quiet
git grep --all-match -e NODE -e
git grep 'time_t' -- regex
- [ ]
git filter
with params - [ ]
git cat-file
with paramsgit cat-file -t -s
git cat-file --batch
- [ ]
git ls-tree
with params - [ ]
git bissect
with paramsgit bisect reset [<commit>]
git bisect log
git bisect help
git bisect run <cmd>
git bisect skip [(<rev>)]
git bisect bad
git bisect good tag
- [ ]
git cherry-pick
with paramsgit cherry-pick --continue
git cherry-pick --quit
git cherry-pick --abort
git cherry-pick <commit>
- [ ]
git am
with paramsgit am <mbox>
git am --signoff
git am --message-id
git am --quiet
git am --whitespace=<option>
git am --abort
git am --show-current-patch
- [ ]
git format-patch
with paramsgit format-patch --indent-heuristic
git format-patch --minimal
git format-patch --histogram
-
git format-patch --diff-algorithm={patience|minimal|histogram|myers}
-git format-patch --compact-summary
git format-patch --shortstat
git format-patch --function-context
git format-patch --base=<commit>
- [ ]
git send-email
with paramsgit send-email --dump-aliases
git send-email --annotate
git send-email --bcc=<address>
git send-email --cc=<address>
git send-email --from=<address>
git send-email --reply-to=<address>
git send-email --in-reply-to=<identifier>
git send-email --subject=<string>
git send-email --to=<address>
git send-email --compose-encoding=<encoding>
git send-email --transfer-encoding=(7bit|8bit|quoted-printable|base64|auto)
git send-email --envelope-sender=<address>
git send-email --smtp-encryption=<encryption>
git send-email --smtp-pass[=<password>]
git send-email --smtp-ssl-cert-path
git send-email --smtp-user=<user>
git send-email --batch-size=<num>
git send-email --identity=<identity>
- [ ]
git request-pull
with paramsgit request-pull [-p] <start> <url> [<end>]
- [ ]
git reflog
with paramsgit reflog [show] [log-options] [<ref>]
git reflog exists <ref>
git reflog --expire-unreachable=<time>
- [ ]
git daemon
git daemon --base-path=<path>
git daemon --interpolated-path=<pathtemplate>
git daemon --log-destination=<destination>
git daemon --user-path=<path>
git daemon --allow-override=<service>
- [ ]
git check-ignore
git check-ignore [<options>] <pathname>
git check-ignore [<options>] --stdin
- [ ]
git commit-tree
git commit-tree <tree>
git commit-tree <keyid>
- [ ]
git count-objects
git count-objects [-v] [-H | --human-readable]
- [ ]
git diff-index
git diff-index -m --cached <tree-ish>
- [ ]
git hash-object
- [ ]
git read-tree
git read-tree --prefix=<prefix>
git read-tree --index-output=<file>
git read-tree --exclude-per-directory=<gitignore>
- [ ]
git rev parse
git rev-parse [<options>] <args>
git rev-parse --prefix <arg>
git rev-parse --short[=length]
- [ ]
git symbolic-ref
git symbolic-ref --delete [-q] <name>
git symbolic-ref [-q] [--short] <name>
git symbolic-ref [-m <reason>] <name> <ref>
git symbolic-ref --quiet
- [ ]
git write-tree
git write-tree --missing-ok
git write-tree --prefix=<prefix>
- [ ]
./git
directoryconfig
index
objects
HEAD
- `description
info
packed-refs
branches
hooks
logs
refs
All Git commands listed are present as GIFs in gitgifs/static/gifs/<command-name>.gif
. Please feel free to make a pull request with the GIFs for any of the listed command.
Idea credit : vimgifs.