`git branch` command show all the local branches and the active branch you are
currently on. Show remote branches by `git branch --all` command.
-# Split - create alternative branch
-When decided to create new branch `git checkout -b NAME` can be used. Switching
-between branches is done by `git checkout NAME` command.
+# 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`.
+
+If branch creation from specified commit is prefered, use `git branch NAME
+COMMIT_ID`.
# Merge - join multiple branches
To the current branch, any other branch may be merged. The result is history
- `git branch`
- `git branch --all`
-## Split
-- `git checkout -b NAME`
-- `git checkout -b NAME COMMIT`
+## Create
+- `git branch NAME`
+- `git branch NAME COMMIT_ID`
- `git checkout NAME`
+- `git checkout COMMIT_ID`
## Merge
- `git merge --no-ff NAME`