Local versus remote
Your local repository contains its own history. A remote is a named reference to another repository, commonly hosted on a Git server. Remotes allow developers to exchange commits and collaborate without sharing the same local filesystem.
origin is only a convention
When cloning a repository, Git normally names the default remote origin. The name is not special to Git's storage model; it is simply a convenient convention.
Remote-tracking branches
References such as origin/main represent the last known state of the remote branch in your local repository. They are not the same thing as your local main branch.