Git Commands Cheat Sheet
A comprehensive guide to essential Git commands for version control.
| Command | Description |
|---|---|
git config --global user.name "[name]" | Sets the name you want attached to your commit transactions. |
git config --global user.email "[email address]" | Sets the email you want attached to your commit transactions. |
git config --global color.ui auto | Enables helpful colorization of command line output. |
| Command | Description |
|---|---|
git init [project-name] | Creates a new local repository with the specified name. |
git clone [url] | Downloads a project and its entire version history. |
| Command | Description |
|---|---|
git status | Lists all new or modified files to be committed. |
git add [file] | Snapshots the file in preparation for versioning. |
git add . | Stages all new and modified files. |
git commit -m "[descriptive message]" | Records file snapshots permanently in version history. |
git diff | Shows file differences not yet staged. |
git diff --staged | Shows file differences between staging and the last file version. |
| Command | Description |
|---|---|
git branch | Lists all local branches in the current repository. |
git branch [branch-name] | Creates a new branch. |
git checkout [branch-name] | Switches to the specified branch and updates the working directory. |
git checkout -b [branch-name] | Creates a new branch and switches to it. |
git merge [branch-name] | Combines the specified branch’s history into the current branch. |
git rebase [branch-name] | Re-applies commits of current branch onto the base of another branch. |
git branch -d [branch-name] | Deletes the specified branch. |
| Command | Description |
|---|---|
git remote -v | Lists all current remote repositories. |
git remote add [shortname] [url] | Adds a new remote Git repository as a shortname. |
git fetch [shortname] | Downloads all history from the remote repository. |
git pull [shortname] [branch] | Fetches and merges the specified remote branch into the current branch. |
git push [shortname] [branch] | Uploads all local branch commits to the remote repository. |
| Command | Description |
|---|---|
git log | Lists version history for the current branch. |
git log --follow [file] | Lists version history for a file, including renames. |
git show [commit] | Shows the metadata and content changes of the specified commit. |
| Command | Description |
|---|---|
git reset [commit] | Undoes all commits after [commit], preserving changes locally. |
git reset --hard [commit] | Discards all history and changes back to the specified commit. |
git revert [commit] | Creates a new commit that undoes the changes of a specified commit. |
git clean -n | Shows which untracked files would be removed. |
git clean -f | Removes all untracked files from the current directory. |
Additional Information
A .gitignore file specifies intentionally untracked files that Git should ignore. Files already tracked by Git are not affected.
| Command / Example | Description |
|---|---|
cat .gitignore | View the contents of the .gitignore file. |
# Lines starting with '#' are comments. | Comments in .gitignore. |
node_modules/ | Ignore a directory. |
*.log | Ignore all files with the .log extension. |