The command git branch -a
lists a bunch of branches that are NOT on the repository, and NOT local branches. How can these be deleted?
* develop
m
It may also happen that the remote repository reference has been deleted from the local clone, but still appears in the output of the 'git branch -a' command. In any case, you can always suppress any reference simply by deleting the corresponding files:
$ rm -f .git/refs/remotes/cloner
$ rm -rf .git/refs/remotes/deprecated_remote
To delete a branch which is not needed anymore you can use the following command :
git branch -d -r origin/cloner
You also do
git push origin :cloner
To remove unwanted remote branches
If you have remote-tracking branches (such as origin/cloner
in this case) which are left over after the corresponding branch has been deleted in the remote repository, you can delete all such remote-tracking branches with:
git remote prune origin
The documentation for git remote explains this as:
Deletes all stale remote-tracking branches under <name>. These stale branches have already been removed from the remote repository referenced by <name>, but are still locally available in "remotes/<name>".
With
--dry-run
option, report what branches will be pruned, but do not actually prune them.