Free Converter

Git Commands Cheat Sheet

Comprehensive Git command cheat sheet. Search 80+ essential Git commands with examples, descriptions, and one-click copy.

git config --global user.name
Set the global username for commits
Example:git config --global user.name "Your Name"
git config --global user.email
Set the global email for commits
Example:git config --global user.email "[email protected]"
git config --list
List all Git configuration settings
Example:git config --list
git config --global core.editor
Set the default text editor for Git
Example:git config --global core.editor "vim"
git init
Initialize a new Git repository in the current directory
Example:git init my-project
git clone
Clone a remote repository to your local machine
Example:git clone https://github.com/user/repo.git
git clone --depth
Shallow clone with limited history
Example:git clone --depth 1 https://github.com/user/repo.git
git add
Stage a specific file for the next commit
Example:git add src/index.js
git add .
Stage all modified and new files in the current directory
Example:git add .
git add -p
Interactively stage parts (hunks) of changed files
Example:git add -p
git status
Show the working tree status (staged, unstaged, untracked)
Example:git status
git status -s
Show a compact status summary
Example:git status -s
git diff
Show unstaged changes between working tree and index
Example:git diff src/app.js
git diff --staged
Show staged changes that will go into the next commit
Example:git diff --staged
git restore
Discard changes in the working directory
Example:git restore src/index.js
git restore --staged
Unstage a file (remove from staging area)
Example:git restore --staged src/index.js
git rm
Remove a file from the working tree and index
Example:git rm old-file.txt
git mv
Move or rename a file and stage the change
Example:git mv oldname.js newname.js
git commit -m
Record staged changes with a commit message
Example:git commit -m "feat: add login page"
git commit -am
Stage all tracked files and commit in one step
Example:git commit -am "fix: correct typo in README"
git commit --amend
Modify the most recent commit (message or content)
Example:git commit --amend -m "Updated commit message"
git log
Show the commit history for the current branch
Example:git log --oneline --graph
git log --oneline
Show compact one-line commit history
Example:git log --oneline -20
git log --author
Filter commit history by author
Example:git log --author="Alice" --oneline
git log --since
Show commits after a given date
Example:git log --since="2024-01-01" --oneline
git show
Show details of a specific commit
Example:git show abc1234
git diff HEAD
Show all changes since the last commit
Example:git diff HEAD
git shortlog
Summarize commit history grouped by author
Example:git shortlog -sn
git branch
List all local branches
Example:git branch -a
git branch <name>
Create a new branch at the current commit
Example:git branch feature/login
git branch -d
Delete a merged local branch
Example:git branch -d feature/login
git branch -D
Force-delete a branch regardless of merge status
Example:git branch -D old-branch
git branch -m
Rename the current branch
Example:git branch -m new-branch-name
git checkout
Switch to an existing branch
Example:git checkout main
git checkout -b
Create and switch to a new branch
Example:git checkout -b feature/new-ui
git switch
Switch to an existing branch (modern syntax)
Example:git switch main
git switch -c
Create and switch to a new branch (modern syntax)
Example:git switch -c feature/api-v2
git merge
Merge a branch into the current branch
Example:git merge feature/login
git merge --no-ff
Merge with a merge commit even if fast-forward is possible
Example:git merge --no-ff feature/login
git rebase
Reapply commits on top of another branch
Example:git rebase main
git rebase -i
Interactive rebase to squash, reorder, or edit commits
Example:git rebase -i HEAD~3
git remote -v
List remote connections with their URLs
Example:git remote -v
git remote add
Add a new remote repository connection
Example:git remote add origin https://github.com/user/repo.git
git remote remove
Remove a remote connection
Example:git remote remove origin
git remote set-url
Change the URL of an existing remote
Example:git remote set-url origin [email protected]:user/repo.git
git fetch
Download objects and refs from a remote without merging
Example:git fetch origin
git fetch --all
Fetch from all remotes
Example:git fetch --all
git pull
Fetch and integrate changes from a remote branch
Example:git pull origin main
git pull --rebase
Pull and rebase instead of merge
Example:git pull --rebase origin main
git push
Upload local commits to a remote branch
Example:git push origin main
git push -u
Push and set upstream tracking branch
Example:git push -u origin feature/login
git push --force-with-lease
Force push safely (fails if remote has new commits)
Example:git push --force-with-lease origin feature/login
git push --delete
Delete a remote branch
Example:git push origin --delete old-branch
git stash
Temporarily save uncommitted changes to a stack
Example:git stash push -m "WIP: half-done feature"
git stash pop
Apply the most recent stash and remove it from the stack
Example:git stash pop
git stash apply
Apply a stash without removing it from the stack
Example:git stash apply stash@{0}
git stash list
List all stashed changes
Example:git stash list
git stash drop
Remove a specific stash entry
Example:git stash drop stash@{1}
git stash clear
Remove all stashed entries
Example:git stash clear
git stash show
Show a summary of changes in a stash
Example:git stash show -p stash@{0}
git stash branch
Create a branch from a stash
Example:git stash branch feature/stashed stash@{0}
git tag
List all existing tags
Example:git tag -l "v1.*"
git tag <name>
Create a lightweight tag at the current commit
Example:git tag v1.0.0
git tag -a
Create an annotated tag with a message
Example:git tag -a v1.0.0 -m "Release version 1.0.0"
git tag -d
Delete a local tag
Example:git tag -d v1.0.0-beta
git push --tags
Push all local tags to the remote
Example:git push origin --tags
git push origin <tag>
Push a specific tag to the remote
Example:git push origin v1.0.0
git describe
Show the most recent tag reachable from the current commit
Example:git describe --tags --abbrev=0
git reset --soft
Move HEAD back, keep changes staged
Example:git reset --soft HEAD~1
git reset --mixed
Move HEAD back, unstage changes (default)
Example:git reset HEAD~1
git reset --hard
Move HEAD back and discard all changes
Example:git reset --hard HEAD~1
git revert
Create a new commit that undoes a previous commit
Example:git revert abc1234
git revert --no-commit
Revert changes without creating a commit yet
Example:git revert --no-commit abc1234
git clean -fd
Remove untracked files and directories
Example:git clean -fd
git clean -n
Dry run: show what would be removed by clean
Example:git clean -n
git checkout -- <file>
Restore a file to the last committed state
Example:git checkout -- src/index.js
git cherry-pick
Apply a specific commit from another branch
Example:git cherry-pick abc1234
git cherry-pick -n
Cherry-pick without committing (stage only)
Example:git cherry-pick -n abc1234
git bisect start
Start a binary search to find a bug-introducing commit
Example:git bisect start && git bisect bad && git bisect good v1.0
git bisect good/bad
Mark a commit as good or bad during bisect
Example:git bisect good
git reflog
Show the history of HEAD and branch tip movements
Example:git reflog --date=iso
git submodule add
Add a repository as a submodule
Example:git submodule add https://github.com/user/lib.git libs/lib
git submodule update
Initialize and update all submodules
Example:git submodule update --init --recursive
git worktree add
Check out a branch in a new working directory
Example:git worktree add ../hotfix hotfix/critical
git blame
Show who last modified each line of a file
Example:git blame -L 10,20 src/app.js
git archive
Create a zip/tar archive of a tree
Example:git archive --format=zip HEAD > release.zip

About This Tool

A comprehensive quick-reference guide for git commands. Browse commonly used commands, syntax, and examples organized by category. Searchable and mobile-friendly — bookmark this page for instant access when you need a quick reminder.

How to Use

  1. Browse the categorized reference sections.
  2. Use the search bar to find specific commands or syntax.
  3. Click on any entry to see usage examples and explanations.
  4. Copy commands directly for use in your terminal or editor.

Frequently Asked Questions

Is this reference up to date?
The reference covers widely-used commands and syntax that are stable across versions. For the latest additions or version-specific features, check the official documentation.
Can I use this offline?
Once loaded, the page works without an internet connection. Bookmark it for quick access — all content is rendered in the browser without further network requests.
Is this comprehensive or just the basics?
It covers the most commonly used commands and patterns that handle 90% of everyday tasks. For niche or advanced features, consult the official documentation.
Can I suggest additions?
We regularly update our references. If you notice missing commands or have suggestions, let us know through our contact page.