Remote-tracking branches are local references to the state of remote branches
They are a local cache of the remote branches.
Remote-tracking branches take the form <remote>/<branch>
origin/master and remote/master are two remote-tracking branch.
where:
git remote add remote https://aRemoteUrl
git fetch origin
git fetch remote
git branch --remotes
# or
git branch -r
* master
Update the remote tracking branch with the modification on the remote branch
git fetch
git pull is used behind the scene
git branch -rd <remote>/<branchname>
To delete all remote-tracking branches that are stale ie where the corresponding branches on the remote machine no longer exist:
git remote prune <remote>
With git-gui, Remote > Prune
Each remote-tracking branch has a file under .git/refs/<remote>/