I want to understand the difference between a branch, a fork and a clone in Git?

Similarly, what does it mean when I do a git fetch as opposed to a git pull?

Also, what does rebase mean in comparison to merge?

How can I squash individual commits themselves together?

How are they used, why are they used and what do they represent?

How does GitHub figure in?

Edit
Report