What a Remote Actually Is

A server holds a bare repository: the contents of .git/ without a working tree. Make one by cloning BookNest bare, clone that as the laptop's copy, and look at what git clone recorded:

A bare server repository and a clone of itShell
git clone --bare -q . ../server/booknest.git
git clone -q ../server/booknest.git ../laptop
cd ../laptop
sed -n '/^\[remote/,$p' .git/config
git branch -a
cd ../booknest
Output
[remote "origin"]
        url = /home/dev/v5-ch2/booknest/../server/booknest.git
        fetch = +refs/heads/*:refs/remotes/origin/*
[branch "main"]
        remote = origin
        merge = refs/heads/main
* main
  remotes/origin/HEAD -> origin/main
  remotes/origin/main

A remote is a URL and a refspec: +refs/heads/*:refs/remotes/origin/* copies every remote branch to a remote-tracking branch under refs/remotes/origin/, and + lets those copies move even after a rewrite. So origin/main is your last-known picture of the server's main, updated only by a fetch (9), and the [branch "main"] section makes it the upstream of your main (Tracking Branches).

A local branch, its remote-tracking copy, and the branch on the remote
A local branch, its remote-tracking copy, and the branch on the remote