Git - Cheat sheet
Table of contents
Create a repository
git init [project-name] - Creates a new, empty local [project-name] repository
git clone [url] - Downloads a project and its entire version history
Stage files
git status - Gives a list of all the uncommitted changes
git diff - Shows file differences not yet staged
git add [file] - Stages only [file]
git add -A - Stages all files
git reset [file] - Unstages a file
Commit and push changes
git commit -m "message" - Commits staged filles
git push - Pushes changes
git tag [tag-name] - Allows to add a tag name, useful for releases
Pull changes from origin
git fetch - Gets latest changes from origin (don’t merge)
git pull - Gets the latest changes from origin and merge
git pull -rebase - Gets the latest changes from origin and place changes on top
Stash
git stash - Temporarily saves all uncommitted tracked files
git stash list - Shows list of stashes
git stash pop - Restores the most recently stashed files and removed them from the list of stashes
git stash apply [optional-id-from-list] - Applies the latest stashed contents, or a specifics one if use [optional-id-from-list]
git stash drop [optional-id-from-list] - Discards the most recently stashed files, or a specifics one if use [optional-id-from-list]
Branches
git branch - Gives a list of all the local branches in the repo
git branch -a - Gives a list of all the local and remote branches in the repo
git branch [new-branch] - Creates a new branch named [new-branch]
git checkout [branch-name] - Switches to [branch-name]
git merge [branch] - Merges [branch] into the current branch
git push origin --delete [branch-name] - Deletes [branch-name] locally and remotely
git push origin [branch1]:[branch2] - Pushes [branch1] into [branch2]