bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/Git/Git Tutorial
Git•Git Tutorial

Git Help

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind Git Help?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ help commit
3Order

Put the learning moves in the order that makes the concept easiest to apply.

See Help for a Specific Command ( git help <command> )
Key Commands for Getting Help
Why and When to Use Git Help?

Why and When to Use Git Help?

Git has many commands and options.

If you forget how a command works or want to learn about its options, you can use Git's built-in help.

This is the fastest way to get answers without leaving your terminal.

Key Commands for Getting Help

  • git help <command> - See the manual page for a command
  • git <command> --help - See help for a command (same as above)
  • git <command> -h - See a quick summary of options
  • git help --all - List all possible Git commands
  • git help -g - List guides and concepts

See Help for a Specific Command ( git help <command> )

Shows the full manual page for a specific command, including all options and examples:

Example: See Help for Commit

git help commit
GIT-COMMIT(1) NAME
 git-commit - Record changes to the repository
SYNOPSIS
 git commit [options] [--] <pathspec>...
DESCRIPTION
 Stores the current contents of the index in a new commit
 together with a log message from the user describing the changes.
...

This command opens the full documentation for git commit in your terminal.

  • Use the arrow keys or Space to scroll down, b to scroll up.
  • Type / followed by a word to search (e.g., /option ), then n for next match.
  • Press q at any time to quit the help view.

See Help with --help ( git <command> --help )

This does the same as git help <command> . Most users prefer this form:

Example: See Help for Status

git status --help
GIT-STATUS(1) NAME
 git-status - Show the working tree status
SYNOPSIS
 git status [options] [--] [pathspec...]
DESCRIPTION
 Displays paths that have differences between the index file and the current HEAD commit.
...

This command opens the manual page for git status .

See a Quick Summary with -h ( git <command> -h )

Shows a short summary of the command's options, right in the terminal window (does not open the full manual):

Example: Quick Help for Add

git add -h
usage: git add [options] [--] <pathspec>...
 -n, --dry-run dry run
 -v, --verbose be verbose
 -i, --interactive interactive picking
 -p, --patch select hunks interactively
 -e, --edit edit current diff and apply
 -u, --update update tracked files
 -A, --all add changes from all tracked and untracked files
...

This command gives you a brief overview of available options for a command.

List All Git Commands ( git help --all )

Lists every Git command available on your system, grouped by category:

Warning

This will display a very long list of commands

Example

$ git help --all
See 'git help <command>' to read about a specific subcommand
Main Porcelain Commands
 add Add file contents to the index
 am Apply a series of patches from a mailbox
 archive Create an archive of files from a named tree
 bisect Use binary search to find the commit that introduced a bug
 branch List, create, or delete branches
 bundle Move objects and refs by archive
 checkout Switch branches or restore working tree files
 cherry-pick Apply the changes introduced by some existing commits
 citool Graphical alternative to git-commit
 clean Remove untracked files from the working tree
 clone Clone a repository into a new directory
 commit Record changes to the repository
 describe Give an object a human readable name based on an available ref
 diff Show changes between commits, commit and working tree, etc
 fetch Download objects and refs from another repository
 format-patch Prepare patches for e-mail submission
 gc Cleanup unnecessary files and optimize the local repository
 gitk The Git repository browser
 grep Print lines matching a pattern
 gui A portable graphical interface to Git
 init Create an empty Git repository or reinitialize an existing one
 log Show commit logs
 maintenance Run tasks to optimize Git repository data
 merge Join two or more development histories together
 mv Move or rename a file, a directory, or a symlink
 notes Add or inspect object notes
 pull Fetch from and integrate with another repository or a local branch
 push Update remote refs along with associated objects
 range-diff Compare two commit ranges (e.g. two versions of a branch)
 rebase Reapply commits on top of another base tip
 reset Reset current HEAD to the specified state
 restore Restore working tree files
 revert Revert some existing commits
 rm Remove files from the working tree and from the index
 shortlog Summarize 'git log' output
 show Show various types of objects
 sparse-checkout Initialize and modify the sparse-checkout
 stash Stash the changes in a dirty working directory away
 status Show the working tree status
 submodule Initialize, update or inspect submodules
 switch Switch branches
 tag Create, list, delete or verify a tag object signed with GPG
 worktree Manage multiple working trees
Ancillary Commands / Manipulators
 config Get and set repository or global options
 fast-export Git data exporter
 fast-import Backend for fast Git data importers
 filter-branch Rewrite branches
 mergetool Run merge conflict resolution tools to resolve merge conflicts
 pack-refs Pack heads and tags for efficient repository access
 prune Prune all unreachable objects from the object database
 reflog Manage reflog information
 remote Manage set of tracked repositories
 repack Pack unpacked objects in a repository
 replace Create, list, delete refs to replace objects
Ancillary Commands / Interrogators
 annotate Annotate file lines with commit information
 blame Show what revision and author last modified each line of a file
 bugreport Collect information for user to file a bug report
 count-objects Count unpacked number of objects and their disk consumption
 difftool Show changes using common diff tools
 fsck Verifies the connectivity and validity of the objects in the database
 gitweb Git web interface (web frontend to Git repositories)
 help Display help information about Git
 instaweb Instantly browse your working repository in gitweb
 merge-tree Show three-way merge without touching index
 rerere Reuse recorded resolution of conflicted merges
 show-branch Show branches and their commits
 verify-commit Check the GPG signature of commits
 verify-tag Check the GPG signature of tags
 whatchanged Show logs with difference each commit introduces
Interacting with Others
 archimport Import a GNU Arch repository into Git
 cvsexportcommit Export a single commit to a CVS checkout
 cvsimport Salvage your data out of another SCM people love to hate
 cvsserver A CVS server emulator for Git
 imap-send Send a collection of patches from stdin to an IMAP folder
 p4 Import from and submit to Perforce repositories
 quiltimport Applies a quilt patchset onto the current branch
 request-pull Generates a summary of pending changes
 send-email Send a collection of patches as emails
 svn Bidirectional operation between a Subversion repository and Git
Low-level Commands / Manipulators
 apply Apply a patch to files and/or to the index
 checkout-index Copy files from the index to the working tree
 commit-graph Write and verify Git commit-graph files
 commit-tree Create a new commit object
 hash-object Compute object ID and optionally creates a blob from a file
 index-pack Build pack index file for an existing packed archive
 merge-file Run a three-way file merge
 merge-index Run a merge for files needing merging
 mktag Creates a tag object
 mktree Build a tree-object from ls-tree formatted text
 multi-pack-index Write and verify multi-pack-indexes
 pack-objects Create a packed archive of objects
 prune-packed Remove extra objects that are already in pack files
 read-tree Reads tree information into the index
 symbolic-ref Read, modify and delete symbolic refs
 unpack-objects Unpack objects from a packed archive
 update-index Register file contents in the working tree to the index
 update-ref Update the object name stored in a ref safely
 write-tree Create a tree object from the current index
Low-level Commands / Interrogators
 cat-file Provide content or type and size information for repository objects
 cherry Find commits yet to be applied to upstream
 diff-files Compares files in the working tree and the index
 diff-index Compare a tree to the working tree or index
 diff-tree Compares the content and mode of blobs found via two tree objects
 for-each-ref Output information on each ref
 for-each-repo Run a Git command on a list of repositories
 get-tar-commit-id Extract commit ID from an archive created using git-archive
 ls-files Show information about files in the index and the working tree
 ls-remote List references in a remote repository
 ls-tree List the contents of a tree object
 merge-base Find as good common ancestors as possible for a merge
 name-rev Find symbolic names for given revs
 pack-redundant Find redundant pack files
 rev-list Lists commit objects in reverse chronological order
 rev-parse Pick out and massage parameters
 show-index Show packed archive index
 show-ref List references in a local repository
 unpack-file Creates a temporary file with a blob's contents
 var Show a Git logical variable
 verify-pack Validate packed Git archive files
Low-level Commands / Syncing Repositories
 daemon A really simple server for Git repositories
 fetch-pack Receive missing objects from another repository
 http-backend Server side implementation of Git over HTTP
 send-pack Push objects over Git protocol to another repository
 update-server-info Update auxiliary info file to help dumb servers
Low-level Commands / Internal Helpers
 check-attr Display gitattributes information
 check-ignore Debug gitignore / exclude files
 check-mailmap Show canonical names and email addresses of contacts
 check-ref-format Ensures that a reference name is well formed
 column Display data in columns
 credential Retrieve and store user credentials
 credential-cache Helper to temporarily store passwords in memory
 credential-store Helper to store credentials on disk
 fmt-merge-msg Produce a merge commit message
 interpret-trailers Add or parse structured information in commit messages
 mailinfo Extracts patch and authorship from a single e-mail message
 mailsplit Simple UNIX mbox splitter program
 merge-one-file The standard helper program to use with git-merge-index
 patch-id Compute unique ID for a patch
 sh-i18n Git's i18n setup code for shell scripts
 sh-setup Common Git shell script setup code
 stripspace Remove unnecessary whitespace
External commands
 askyesno
 credential-helper-selector
 flow
 lfs

Note

If you find yourself stuck in the list view, SHIFT + G to jump the end of the list, then q to exit the view.

List Guides and Concepts ( git help -g )

Shows a list of guides and concept topics for deeper learning:

Example: List Guides and Concepts

git help -g
The common Git guides are:
 attributes Defining attributes per path
 everyday Everyday Git With 20 Commands Or So
 glossary A Git glossary of terms
 revisions Specifying revisions and ranges for Git
...

This command is great for learning about Git's advanced concepts and best practices.

Troubleshooting

  • How do I quit the help viewer? Press q to exit the help page.
  • Help page won't open? Try git <command> -h for a quick summary instead.
  • How do I search for a word? In the help viewer, press / then type your search term and press Enter .

Previous

Git History

Next

Git Branch