Git is an open source distributed version control system that facilitates GitHub activities on your laptop or desktop. This cheat sheet will help you with commonly used Git command line instructions for quick reference.
- Install Git
- How to use Git
- Configure tooling
- Create repositories
- Make changes
- Group changes
- Refactor filenames
- Suppress tracking
- Save fragments
- Review history
- Redo commits
- Synchronize changes
- Download Git for Windows Setup
- Install Git through the setup. Usually all configurations can be left in default settings.
Download Git for Mac
For the latest stable version for your release of Debian/Ubuntu
$ sudo apt-get update
$ sudo apt-get get install git
For Ubuntu, this PPA provides the latest stable upstream Git version
$ sudo add-apt-repository ppa:git-core/ppa
$ sudo apt update
$ sudo apt install git
For releases up to Fedora 21
$ yum install git
For Fedora 22 and later
$ dnf install git
$ pacman -S git
Windows
Right click on any location and click git bash
.
Linux and Mac
Open Terminal
to use git.
Configure user information for all local repositories
Set the name you want attached to your commit transactions
$ git config --global user.name "[name]"
Set the email address you want attached to your commit transactions
$ git config --global user.email "[email address]"
Start a new repository or obtain one from an existing URL
Create a new local repository with the specified name
$ git init [project-name]
Download a project and its entire version history
$ git clone [url]
Review edits and craft a commit transaction
List all new or modified files to be commited
$ git status
Show file differences not yet staged
$ git diff
Snapshot a file in preparation for versioning
$ git add [file]
Snapshot all files of the current directory in preparation for versioning
$ git add .
Unstage the file (reset), but preserve its contents
$ git reset [file]
Record file snapshots permanently in version history
$ git commit -m "[descriptive message]"
Name a series of commits and combine completed efforts
List all local branches in the current repository
$ git branch
Create a new branch
$ git branch [branch-name]
Switch to the specified branch and updates the working directory
$ git checkout [branch-name]
Combine the specified branch's history into the current branch
$ git merge [branch-name]
Delete the specified branch
$ git branch -d [branch-name]
Relocate and remove versioned files
Delete the file from the working directory and stages the deletion
$ git rm [file]
Remove the file from version control but preserves the file locally
$ git rm --cached [file]
Change the file name and prepares it for commit
$ git mv [file-original] [file-renamed]
Exclude temporary files and paths
List all ignored files in this project
$ git ls-files --other --ignored --exclude-standard
A text file named .gitignore suppresses accidental versioning of files and paths matching the specified paterns
*.log
build/
temp-*
Shelve and restore incomplete changes
Temporarily store all modified tracked files
$ git stash
List all stashed changesets
$ git stash list
Restore the most recently stashed files
$ git stash pop
Discard the most recently stashed changeset
$ git stash drop
Browse and inspect the evolution of project files
List version history for the current branch
$ git log
List version history for a file, including renames
$ git log --follow [file]
Show content differences between two branches
$ git diff [first-branch]...[second-branch]
Output metadata and content changes of the specified commit
$ git show [commit]
Erase mistakes and craf replacement history
Undo all commits afer [commit], preserving changes locally
$ git reset [commit]
Discard all history and changes back to the specified commit
$ git reset --hard [commit]
Register a repository bookmark and exchange version history
Download all history from the repository bookmark
$ git fetch [bookmark]
Combine bookmark’s branch into current local branch
$ git merge [bookmark]/[branch]
Upload all local branch commits to GitHub
$ git push [alias] [branch]
Download bookmark history and incorporates changes
$ git pull