Git Commands Cheat Sheet

A comprehensive guide to essential Git commands for version control.

CommandDescription
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 autoEnables helpful colorization of command line output.

CommandDescription
git init [project-name]Creates a new local repository with the specified name.
git clone [url]Downloads a project and its entire version history.

CommandDescription
git statusLists 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 diffShows file differences not yet staged.
git diff --stagedShows file differences between staging and the last file version.

CommandDescription
git branchLists 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.

CommandDescription
git remote -vLists 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.

CommandDescription
git logLists 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.

CommandDescription
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 -nShows which untracked files would be removed.
git clean -fRemoves 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 / ExampleDescription
cat .gitignoreView the contents of the .gitignore file.
# Lines starting with '#' are comments.Comments in .gitignore.
node_modules/Ignore a directory.
*.logIgnore all files with the .log extension.