Fast-forwarding and rebase in git

Viewed 6185

I am reading this and for the most part, I get it. I think I understand rebasing (it obtains a more linear git log history without having to make a commit that is just a three-way commit) I also think I understand the git diagrams. But there are a few words in the paragraph I don't understand.

You’ll notice the phrase “fast-forward” in that merge. Because the commit pointed to by the branch you merged in was directly upstream of the commit you’re on, Git simply moves the pointer forward. To phrase that another way, when you try to merge one commit with a commit that can be reached by following the first commit’s history, Git simplifies things by moving the pointer forward because there is no divergent work to merge together – this is called a “fast-forward.”

Your change is now in the snapshot of the commit pointed to by the master branch, and you can deploy the fix.

What I don't understand are the terms upstream, pointer, and the last sentence.

In the diagram, why is the red master box above hotfix?

1 Answers
Related