init: git rebase
In this video we'll learn how to use
There will be times when the branch you are working on falls behind the one you branched from. Normally because other changes were finished and merged after you created your branch.
While you could use
git merge to bring in the recent commits, using
git rebase is more appropriate.
git rebase will bring your branch back up to date with another branch and reapply any commits you've made on top.
git rebase will make it as if you just created the branch and did your work.
Let's demonstrate this by creating a stale branch.
I'll do so by checking out a new branch and passing it an additional argument of an older point as covered in the Master video for
In this case, I'll reference an older commit by using HEAD~2.
Now I'll make some changes by creating and committing File 3.
If I run
git log we'll see this branch has formed it's own base and is missing commits from master.
We can bring get all of the new changes from master as well as keeping the new changes with
In this case, by running:
git rebase master
From the output we see Git first rewinds our branch to a point where its commit history was similar to master.
Then it fast forwarded our branch with the recent changes on master.
Finally it took any commits from our branch and reapplied them on top.
If we run
git log again, we see now that our branch now contains all the commits from master and is one commit ahead of master.
git merge, it is possible to receive conflicts when you rebase a branch.
The process for resolving these conflicts is the same as we learned in Master: git merge.