It's not a good idea to multitask when working. However, some projects just
need it. The reason can be multiple features you are developing in parallel or
more than one guy working on the project. To keep track of different changes
-that are realated the concept of branches was introduced.
+that are related, the concept of branches was introduced.
Branch is just alternative history that can be merged one day back to the main
history. The main history branch is named `master` by default.
will merge the branch `NAME` to itself. `--no-ff` avoids melting the branch
being merged. It's hard to explain, better to show.
-# Rebase - change the base commit of branch
+# Change the base commit of branch
Each branch start at some commit. This starting commit of the branch can be
-also changed usually because of keeping clean history. The command `git rebase
-COMMIT` takes current branch and put it on top of the `COMMIT`.
+also changed. The usual case is keeping clean history. The command `git rebase
+COMMIT_ID` takes current branch and put it on top of the `COMMIT_ID`. Also,
+`git rebase NAME` could be used for rebasing current branch on top of other.
# Cheat sheet
## Explore
- `git merge --no-ff NAME`
## Rebase
-- `git rebase COMMIT`
-- `git rebase -i COMMIT`
+- `git rebase COMMIT_ID`
+- `git rebase -i COMMIT_ID`
+- `git rebase NAME`