By default, git fetch
gets an updated list of remote branches from the remote and sets up remote branch references locally. However, it doesn’t delete stale references that no longer have a counterpart on the remote. Trying to get rid of these using the git push -f origin:branch-name
command will fail with a remote ref does not exist
error.
To delete stale remote references, you need to pass the --prune
option to fetch
like so:
git fetch --prune
- [deleted] (none) -> origin/branch-name