`git branch` command show all the local branches and the active branch you are
currently on. Show remote branches by `git branch --all` command.
+For `git log` command, add `--branches` or `--all` parameters:
+
+`git log --oneline --graph --decorate --all`
+
# Create and switch branches
When decided to create new branch `git branch NAME` can be used. The branch
will be created from the current state called *HEAD*. Switching between
-branches is done by `git checkout NAME` command. Checkout to specific commit is
-also possible by `git checkout COMMIT_ID`.
+branches is done by `git checkout NAME` command.
If branch creation from specified commit is prefered, use `git branch NAME
COMMIT_ID`.
`git rebase NAME` could be used for rebasing current branch on top of other.
# Cheat sheet
+## Checkout and reset
+- `git checkout COMMIT_ID`
+- `git reset COMMIT_ID`
+- `git reset --hard COMMIT_ID`
+
## Explore
- `git branch`
- `git branch --all`
+- `git log --oneline --graph --decorate --branches`
+- `git log --oneline --graph --decorate --all`
## Create
- `git branch NAME`
- `git branch NAME COMMIT_ID`
- `git checkout NAME`
-- `git checkout COMMIT_ID`
## Merge
- `git merge --no-ff NAME`