Git Cheat Sheet
Here the Git commands I use every day. These will probably cover 90% of what you need to do with Git.
Status
# What's added/changed/deleted?
git status
–
# What's changed/deleted?
git status -uno
# Short for
git status --untracked-files=no
Adding / Removing
# stage
git add path/to/file.cs
–
# unstage
git reset HEAD path/to/file.cs
–
# Delete a file
git rm path/to/file3.cs
–
# Stages all new and changed files (no removals)
# In and under the current path
git add .
–
# Stages modifications or removals of tracked files
# In the entire working tree
git add -u
–
# Stages all new files in and under the current path
# Stages modifications or removals of tracked files
# In the entire working tree
# Equivalent to "git add .; git add -u"
git add -A
Committing
# commit
git add path/to/file.cs
git commit -m 'Adds cod'
–
# ammend commit
git add path/to/file2.cs
git commit -m 'Adds lots of code' -amend
Branching
# Create and checkout a new branch from where we are
git checkout -b branch-name
–
# Checkout a branch
git checkout branch-name
–
# Merge changes from master, into your branch
git merge master
# Merge your branch into master
git checkout master
git merge branch-name
Diffing
# Compare tracked files to HEAD
git diff
–
# Compare staged files to HEAD
git diff --staged
–
# Compate a single file to HEAD
git diff HEAD path/to/file.cs
Undoing
# Reset the staging area
git reset HEAD
–
# Remove a file from being staged
git reset HEAD path/to/file.cs
–
# CAUTION!!!
# Undo changes to a tracked file
git checkout path/to/file.cs
–
# CAUTION!!!
# Blow away all changes to tracked files and reset the staging area
# Deletes new files that have been staged!
git reset --hard HEAD
–