Remove Tracking Branches No Longer on Remote

Better Stack Team
Updated on June 24, 2024

To remove tracking branches in your local repository that no longer exist on the remote repository, you can use the git fetch command with the --prune option. This option deletes any remote tracking branches that no longer exist on the remote. Here's how:

 
git fetch --prune

This command fetches updates from the remote repository (git fetch) and prunes (removes) any remote tracking branches that no longer exist on the remote repository (--prune).

After running this command, any local tracking branches that were tracking branches on the remote but have been deleted on the remote will be removed from your local repository.

Note:

  • Before running this command, ensure that you have fetched updates from the remote repository to ensure that your local tracking branches are up to date with the remote.
  • Be cautious when using git fetch --prune, as it permanently removes tracking branches that no longer exist on the remote repository.
  • Running git fetch --prune will only remove remote tracking branches. It will not delete any local branches that are not tracking branches.
Got an article suggestion? Let us know
Explore more
Git
Licensed under CC-BY-NC-SA

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.