In branches on the server there is no prefix origin . origin - YOUR name for the remote. This is the default name for the remote, but you can name it in any way. Conceptually, the master on the server and your local master match; your machine can easily act as a server for someone else.
Also, I would not distinguish between the branches "tracking" and "remote tracking". master is the remote tracking branch for the remote master , which you have as a copy in the remote branch named origin/master . You cannot directly manipulate remote branches; only commands that communicate with the remote, such as push and fetch , can perform updates.
There is also no difference between tracking and what you call a purely local branch. The tracking branch allows for some abbreviations and allows you to omit the remote part, for example, merges and reinstallations. You can do anything if your local branches do not need to track remote branches, but this is less convenient.
source share