Soroush Hakami
Soroush Hakami

Reputation: 5406

Delete branches listed by git branch -a

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
  master
  remotes/origin/cloner

For example, remotes/origin/cloner used to exist in the repo, but it has since been deleted and I'd like it not to appear when typing git branch -a.

Upvotes: 21

Views: 5137

Answers (5)

darth vader
darth vader

Reputation: 578

If you want to keep main and develop branch and delete all local branch from git repository then this might be helpful.

Delete all local branch except main and develop:

git branch -a | egrep -v "(^\*|main|develop)" | xargs git branch -d

Upvotes: 0

Alexander Gladysh
Alexander Gladysh

Reputation: 41491

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.

Upvotes: 30

Patrick
Patrick

Reputation: 4387

You also do

git push origin :cloner 

To remove unwanted remote branches

Upvotes: 0

aleroot
aleroot

Reputation: 72696

To delete a branch which is not needed anymore you can use the following command :

git branch -d -r origin/cloner

Upvotes: 3

Denis Arnaud
Denis Arnaud

Reputation: 388

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

Upvotes: -5

Related Questions