The core concept of Git is simple. All its more complex features can be derived from the idea that Git is a database of commits (changes + metadata).
A rebase is the act of changing the parent, or base, of a commit. So instead of a change being made to version A, you make the same change to version B. No time travel metaphors need to be involved, and IMO only complicate a very simple concept.
The harder part is explaining why you'd want a rebase.
A rebase is the act of changing the parent, or base, of a commit. So instead of a change being made to version A, you make the same change to version B. No time travel metaphors need to be involved, and IMO only complicate a very simple concept.
The harder part is explaining why you'd want a rebase.