Git
g
|
git is short for "git" |
Branch (b)
gb
|
Lists, creates, renames, and deletes branches git branch |
gba
|
Creates a new branch git branch --all --verbose |
gbc
|
Creates a new branch git checkout -b |
gbd
|
Deletes a branch git branch --delete |
gbD
|
Deletes the branch regardless of its push and merge status, so be careful using this one, see also "gbd" git branch --delete --force |
gbl
|
Lists branches and their commits, see also "gbv" git branch --verbose |
gbL
|
Lists all local and remote branches and their commits git branch --all --verbose |
gbr
|
Renames/moves a branch, see also "gbm" git branch --move |
gbR
|
Renames/moves a branch even if the new branch name already exists, see also "gbM" git branch --move --force |
gbs
|
Lists branches and their commits with ancestry graphs git show-branch |
gbS
|
Lists local and remote branches and their commits with ancestry graphs git show-branch --all |
gbv
|
Lists branches with verbose information about their commits git branch --verbose |
gbV
|
Lists branches with more verbose information about their commits git branch --verbose --verbose |
gbx
|
Deletes a branch, see also "gbd" git branch --delete |
gbX
|
Deletes a branch irrespective of its merged status, see also "gbD" git branch --delete --force |
Commit (c)
gc
|
Records changes to the repository git commit --verbose |
gca
|
Stages all modified and deleted files git commit --verbose --all |
gcm
|
Records changes to the repository with the given message git commit --message |
gcS
|
Records changes to the repository. (Signed) git commit -S --verbose |
gcSa
|
Stages all modified and deleted files. (Signed) git commit -S --verbose --all |
gcSm
|
Records changes to the repository with the given message. (Signed) git commit -S --message |
gcam
|
Stages all modified and deleted files, and records changes to the repository with the given message git commit --all --message |
gco
|
Checks out a branch or paths to work tree git checkout |
gcO
|
Checks out hunks from the index or the tree interactively git checkout --patch |
gcf
|
Amends the tip of the current branch using the same log message as HEAD git commit --amend --reuse-message HEAD |
gcSf
|
Amends the tip of the current branch using the same log message as HEAD. (Signed) git commit -S --amend --reuse-message HEAD |
gcF
|
Amends the tip of the current branch git commit --verbose --amend |
gcSF
|
Amends the tip of the current branch. (Signed) git commit -S --verbose --amend |
gcp
|
Applies changes introduced by existing commits git cherry-pick --ff |
gcP
|
Applies changes introduced by existing commits without committing git cherry-pick --no-commit |
gcr
|
Reverts existing commits by reverting patches and recording new commits git revert |
gcR
|
Removes the HEAD commit git reset "HEAD^" |
gcs
|
Displays various types of objects git show |
gcsS
|
Displays commits with GPG signature git show --pretty=short --show-signature |
gcl
|
Lists lost commits git-commit-lost |
gcy
|
Displays commits yet to be applied to upstream in the short format git cherry -v --abbrev |
gcY
|
Displays commits yet to be applied to upstream git cherry -v |
Conflict (C)
gCl
|
Lists unmerged files git --no-pager diff --name-only --diff-filter=U |
gCa
|
Adds unmerged file contents to the index git add $(gCl) |
gCe
|
Executes merge-tool on all unmerged file git mergetool $(gCl) |
gCo
|
Checks out our changes for unmerged paths git checkout --ours -- |
gCO
|
Checks out our changes for all unmerged paths gCo $(gCl) |
gCt
|
Checks out their changes for unmerged paths git checkout --theirs -- |
gCT
|
Checks out their changes for all unmerged paths gCt $(gCl) |
Data (d)
gd
|
Displays information about files in the index and the work tree git ls-files |
gdc
|
Lists cached files git ls-files --cached |
gdx
|
Lists deleted files git ls-files --deleted |
gdm
|
Lists modified files git ls-files --modified |
gdu
|
Lists untracked files git ls-files --other --exclude-standard |
gdk
|
Lists killed files git ls-files --killed |
gdi
|
Lists ignored files git status --porcelain --short --ignored | sed -n "s/^!! //p" |
Fetch (f)
gf
|
Downloads objects and references from another repository git fetch |
gfa
|
Downloads objects and references from all remote repositories git fetch --all |
gfc
|
Clones a repository into a new directory git clone |
gfcr
|
Clones a repository into a new directory including all submodules git clone --recurse-submodules |
gfm
|
Fetches from and merges with another repository or local branch git pull |
gfr
|
Fetches from and rebases on another repository or local branch git pull --rebase |
Flow (F)
gFi
|
Is short for "git flow init" git flow init |
Flow Feature (Ff)
gFf
|
Is short for "git flow feature" git flow feature |
gFfl
|
Is short for "git flow feature list" git flow feature list |
gFfs
|
Is short for "git flow feature start" git flow feature start |
gFff
|
Is short for "git flow feature finish" git flow feature finish |
gFfp
|
Is short for "git flow feature publish" git flow feature publish |
gFft
|
Is short for "git flow feature track" git flow feature track |
gFfd
|
Is short for "git flow feature diff" git flow feature diff |
gFfr
|
Is short for "git flow feature rebase" git flow feature rebase |
gFfc
|
Is short for "git flow feature checkout" git flow feature checkout |
gFfm
|
Is short for "git flow feature pull" git flow feature pull |
gFfx
|
Is short for "git flow feature delete" git flow feature delete |
Flow Bugfix (Fb)
gFb
|
Is short for "git flow bugfix" git flow bugfix |
gFbl
|
Is short for "git flow bugfix list" git flow bugfix list |
gFbs
|
Is short for "git flow bugfix start" git flow bugfix start |
gFbf
|
Is short for "git flow bugfix finish" git flow bugfix finish |
gFbp
|
Is short for "git flow bugfix publish" git flow bugfix publish |
gFbt
|
Is short for "git flow bugfix track" git flow bugfix track |
gFbd
|
Is short for "git flow bugfix diff" git flow bugfix diff |
gFbr
|
Is short for "git flow bugfix rebase" git flow bugfix rebase |
gFbc
|
Is short for "git flow bugfix checkout" git flow bugfix checkout |
gFbm
|
Is short for "git flow bugfix pull" git flow bugfix pull |
gFbx
|
Is short for "git flow bugfix delete" git flow bugfix delete |
Release
gFr
|
Is short for "git flow release" git flow release |
gFrl
|
Is short for "git flow release list" git flow release list |
gFrs
|
Is short for "git flow release start" git flow release start |
gFrf
|
Is short for "git flow release finish" git flow release finish |
gFrp
|
Is short for "git flow release publish" git flow release publish |
gFrt
|
Is short for "git flow release track" git flow release track |
gFrd
|
Is short for "git flow release diff" git flow release diff |
gFrr
|
Is short for "git flow release rebase" git flow release rebase |
gFrc
|
Is short for "git flow release checkout" git flow release checkout |
gFrm
|
Is short for "git flow release pull" git flow release pull |
gFrx
|
Is short for "git flow release delete" git flow release delete |
Flow Hotfix (Fh)
gFh
|
Is short for "git flow hotfix" git flow hotfix |
gFhl
|
Is short for "git flow hotfix list" git flow hotfix list |
gFhs
|
Is short for "git flow hotfix start" git flow hotfix start |
gFhf
|
Is short for "git flow hotfix finish" git flow hotfix finish |
gFhp
|
Is short for "git flow hotfix publish" git flow hotfix publish |
gFht
|
Is short for "git flow hotfix track" git flow hotfix track |
gFhd
|
Is short for "git flow hotfix diff" git flow hotfix diff |
gFhr
|
Is short for "git flow hotfix rebase" git flow hotfix rebase |
gFhc
|
Is short for "git flow hotfix checkout" git flow hotfix checkout |
gFhm
|
Is short for "git flow hotfix pull" git flow hotfix pull |
gFhx
|
Is short for "git flow hotfix delete" git flow hotfix delete |
Flow Support (Fs)
gFs
|
Is short for "git flow support" git flow support |
gFsl
|
Is short for "git flow support list" git flow support list |
gFss
|
Is short for "git flow support start" git flow support start |
gFsf
|
Is short for "git flow support finish" git flow support finish |
gFsp
|
Is short for "git flow support publish" git flow support publish |
gFst
|
Is short for "git flow support track" git flow support track |
gFsd
|
Is short for "git flow support diff" git flow support diff |
gFsr
|
Is short for "git flow support rebase" git flow support rebase |
gFsc
|
Is short for "git flow support checkout" git flow support checkout |
gFsm
|
Is short for "git flow support pull" git flow support pull |
gFsx
|
Is short for "git flow support delete" git flow support delete |
Grep (g)
gg
|
Displays lines matching a pattern git grep |
ggi
|
Displays lines matching a pattern ignoring case git grep --ignore-case |
ggl
|
Lists files matching a pattern git grep --files-with-matches |
ggL
|
Lists files that are not matching a pattern git grep --files-without-matches |
ggv
|
Displays lines not matching a pattern git grep --invert-match |
ggw
|
Displays lines matching a pattern at word boundary git grep --word-regexp |
Index (i)
gia
|
Adds file contents to the index git add |
giA
|
Adds file contents to the index interactively git add --patch |
giu
|
Adds file contents to the index (updates only known files) git add --update |
gid
|
Displays changes between the index and a named commit (diff) git diff --no-ext-diff --cached |
giD
|
Displays changes between the index and a named commit (word diff) git diff --no-ext-diff --cached --word-diff |
gii
|
Temporarily ignore differences in a given file git update-index --assume-unchanged |
giI
|
Unignore differences in a given file git update-index --no-assume-unchanged |
gir
|
Resets the current HEAD to the specified state git reset |
giR
|
Resets the current index interactively git reset --patch |
gix
|
Removes files/directories from the index (recursively) git rm -r --cached |
giX
|
Removes files/directories from the index (recursively and forced) git rm -rf --cached |
Log (l)
gl
|
Displays the log git log --topo-order --pretty=format:"${gitlogmediumformat}" |
gls
|
Displays the stats log git log --topo-order --stat --pretty=format:"${gitlogmediumformat}" |
gld
|
Displays the diff log git log --topo-order --stat --patch --full-diff --pretty=format:"${gitlogmediumformat}" |
glo
|
Displays the one line log git log --topo-order --pretty=format:"${gitlogonelineformat}" |
glg
|
Displays the graph log git log --topo-order --all --graph --pretty=format:"${gitlogonelineformat}" |
glb
|
Displays the brief commit log git log --topo-order --pretty=format:"${gitlogbriefformat}" |
glc
|
Displays the commit count for each contributor in descending order git shortlog --summary --numbered |
glS
|
Displays the log and checks the validity of signed commits git log --show-signature |
Merge (m)
gm
|
Joins two or more development histories together git merge |
gmC
|
Joins two or more development histories together but does not commit git merge --no-commit |
gmF
|
Joins two or more development histories together but does not commit generating a merge commit even if the merge resolved as a fast-forward git merge --no-ff |
gma
|
Aborts the conflict resolution, and reconstructs the pre-merge state git merge --abort |
gmt
|
Runs the merge conflict resolution tools to resolve conflicts git mergetool |
Push (p)
gp
|
Updates remote refs along with associated objects git push |
gpf
|
Forcefully updates remote refs along with associated objects using the safer "--force-with-lease" option git push --force-with-lease |
gpF
|
Forcefully updates remote refs along with associated objects using the riskier "--force" option git push --force |
gpa
|
Updates remote branches along with associated objects git push --all |
gpA
|
Updates remote branches and tags along with associated objects git push --all && git push --tags |
gpt
|
Updates remote tags along with associated objects git push --tags |
gpc
|
Updates remote refs along with associated objects and adds origin as an upstream reference for the current branch git push --set-upstream origin "$(git-branch-current 2> /dev/null)" |
gpp
|
Pulls and pushes from origin to origin git pull origin "$(git-branch-current 2> /dev/null)" && git push origin "$(git-branch-current 2> /dev/null)" |
Rebase (r)
gr
|
Forward-ports local commits to the updated upstream head git rebase |
gra
|
Aborts the rebase git rebase --abort |
grc
|
Continues the rebase after merge conflicts are resolved git rebase --continue |
gri
|
Makes a list of commits to be rebased and opens the editor git rebase --interactive |
grs
|
Skips the current patch git rebase --skip |
Remote (R)
gR
|
Manages tracked repositories git remote |
gRl
|
Lists remote names and their URLs git remote --verbose |
gRa
|
Adds a new remote git remote add |
gRx
|
Removes a remote git remote rm |
gRm
|
Renames a remote git remote rename |
gRu
|
Fetches remotes updates git remote update |
gRp
|
Prunes all stale remote tracking branches git remote prune |
gRs
|
Displays information about a given remote git remote show |
gRb
|
Opens a remote on [GitHub][3] in the default browser git-hub-browse |
Stash (s)
gs
|
Stashes the changes of the dirty working directory git stash |
gsa
|
Applies the changes recorded in a stash to the working directory git stash apply |
gsx
|
Drops a stashed state git stash drop |
gsX
|
Drops all the stashed states git-stash-clear-interactive |
gsl
|
Lists stashed states git stash list |
gsL
|
Lists dropped stashed states git-stash-dropped |
gsd
|
Displays changes between the stash and its original parent git stash show --patch --stat |
gsp
|
Removes and applies a single stashed state from the stash list git stash pop |
gsr
|
Recovers a given stashed state git-stash-recover |
gss
|
Stashes the changes of the dirty working directory, including untracked git stash save --include-untracked |
gsS
|
Stashes the changes of the dirty working directory interactively git stash save --patch --no-keep-index |
gsw
|
Stashes the changes of the dirty working directory retaining the index git stash save --include-untracked --keep-index |
Submodule (S)
gS
|
Initializes, updates, or inspects submodules git submodule |
gSa
|
Adds given a repository as a submodule git submodule add |
gSf
|
Evaluates a shell command in each of checked out submodules git submodule foreach |
gSi
|
Initializes submodules git submodule init |
gSI
|
Initializes and clones submodules recursively git submodule update --init --recursive |
gSl
|
Lists the commits of all submodules git submodule status |
gSm
|
Moves a submodule git-submodule-move |
gSs
|
Synchronizes submodules remote URL to the value specified in .gitmodules git submodule sync |
gSu
|
Fetches and merges the latest changes for all submodule git submodule foreach git pull origin master |
gSx
|
Removes a submodule git-submodule-remove |
Tag (t)
gt
|
Lists tags or creates tag git tag |
gtl
|
Lists tags matching pattern git tag -l |
gts
|
Creates a signed tag git tag -s |
gtv
|
Validate a signed tag git verify-tag |
Working Directory (w)
gws
|
Displays working-tree status in the short format git status --ignore-submodules=${gitstatusignoresubmodules} --short |
gwS
|
Displays working-tree status git status --ignore-submodules=${gitstatusignoresubmodules} |
gwd
|
Displays changes between the working tree and the index (diff) git diff --no-ext-diff |
gwD
|
Displays changes between the working tree and the index (word diff) git diff --no-ext-diff --word-diff |
gwr
|
Resets the current HEAD to the specified state, does not touch the index nor the working tree git reset --soft |
gwR
|
Resets the current HEAD, index and working tree to the specified state git reset --hard |
gwc
|
Removes untracked files from the working tree (dry-run) git clean -n |
gwC
|
Removes untracked files from the working tree git clean -f |
gwx
|
Removes files from the working tree and from the index recursively git rm -r |
gwX
|
Removes files from the working tree and from the index recursively and forcefully git rm -rf |