Git rebase
When to use
If you want to have a clean git commits history. If six features are being developed in parallel, they starts from different time and they launch in different times. When you need to roll back some features, you will discover that you have diverged from the main so much.
What is git rebase
When you merge a branch, step 3 will actually look like this: