Git comes with a massive bunch of (sub)commands and even if you're dealing with git on a daily basis, you might not always remember every single one you need along the way. Having bash completion for git is already a good start (type git
, a space and then tab), but this is only a subset with the higher level commands.
If you also need lower level commands (or don't have bash completion), try
git help --all
which will render a list of available commands, like:
available git commands in '/opt/local/libexec/git-core'
-------------------------------------------------------
add fast-import merge-recursive reset
add--interactive fetch merge-resolve rev-list
am fetch-pack merge-subtree rev-parse
annotate filter-branch merge-tree revert
apply fmt-merge-msg mergetool rm
archimport for-each-ref mktag send-email
archive format-patch mktree send-pack
bisect fsck mv sh-i18n--envsubst
bisect--helper fsck-objects name-rev shell
blame gc notes shortlog
branch get-tar-commit-id pack-objects show
bundle grep pack-redundant show-branch
cat-file gui pack-refs show-index
check-attr gui--askpass patch-id show-ref
check-ref-format hash-object peek-remote stage
checkout help prune stash
checkout-index http-backend prune-packed status
cherry http-fetch pull stripspace
cherry-pick http-push push submodule
citool imap-send quiltimport svn
clean index-pack read-tree symbolic-ref
clone init rebase tag
commit init-db receive-pack tar-tree
commit-tree instaweb reflog unpack-file
config log relink unpack-objects
count-objects lost-found remote update-index
cvsexportcommit ls-files remote-ext update-ref
cvsimport ls-remote remote-fd update-server-info
cvsserver ls-tree remote-ftp upload-archive
daemon mailinfo remote-ftps upload-pack
describe mailsplit remote-http var
diff merge remote-https verify-pack
diff-files merge-base remote-testgit verify-tag
diff-index merge-file repack web--browse
diff-tree merge-index replace whatchanged
difftool merge-octopus repo-config write-tree
difftool--helper merge-one-file request-pull
fast-export merge-ours rerere