Working on this lab made me realized how little of git I actually knew. The non-stop merging branch got a bit confusing for me, then throw in rebasing I got completely lost. But luckily after re-reading a few times, I learned to understand! so for anyone else who was as confused as me, here are what they mean
Branch- Is a simple movable pointer to commits, the default branch is called master that always points to your last commit
Merging- Is combining two commits together, But can cause a lot of merge conflicts and luckily we learned how to deal with them.
Rebasing- Lets us move branches around by changing the commit that they are based on, which can be confusing. So practice it a lot!