Skip to main content
The main porcelain commands are the primary interface that most Git users interact with. These commands provide high-level operations for common version control tasks.

git-add

Add file contents to the index

git-am

Apply a series of patches from a mailbox

git-archive

Create an archive of files from a named tree

git-bundle

Move objects and refs by archive

git-checkout

Switch branches or restore working tree files

git-cherry-pick

Apply the changes introduced by some existing commits

git-citool

Graphical alternative to git-commit

git-clean

Remove untracked files from the working tree

git-describe

Give an object a human readable name based on an available ref

git-format-patch

Prepare patches for e-mail submission

git-gc

Cleanup unnecessary files and optimize the local repository

git-gui

A portable graphical interface to Git

git-maintenance

Run tasks to optimize Git repository data

git-notes

Add or inspect object notes

git-range-diff

Compare two commit ranges

git-revert

Revert some existing commits

git-shortlog

Summarize git log output

git-sparse-checkout

Reduce your working tree to a subset of tracked files

git-stash

Stash the changes in a dirty working directory away

git-submodule

Initialize, update or inspect submodules

git-worktree

Manage multiple working trees

gitk

The Git repository browser

scalar

A tool for managing large Git repositories

Command Categories

Main commands are further organized into specialized categories: