Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root


1 badge earned


Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!


Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.


Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!


How do I clean up previously tracked branches in SourceTree?

I've got several branches that I've worked on that have been tracked on origin.

The branches have been merged into master and have been deleted on origin.

If I use the 'Fetch' option and select the 'Purge' option, I can see that branches that have been removed on origin.

But the list of branches I see locally still exist.

I can see that at this stage, there's no difference between a local branch that has not been pushed to origin and a branch that had previously been pushed to origin but is now deleted on origin.

Is there a way to keep this in sync in some way?

By that I mean, if the branch is deleted on origin, then really delete it locally, including the tracking branch data (I think that's what the list of branches is in SourceTree under WORKSPACE - not the Remote branches).

I'm on MacOS using SourceTree 2.7.3 (169) with the dark theme.

4 answers

3 votes
Mikael Sandberg
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
May 30, 2018

Git has a default disposition of keeping data unless it’s explicitly thrown away. Prune will only remove the remote-tracking references, not the local branch itself.

There is a request to have the feature to sync removed remote branches with local ones, SRCTREEWIN-8631. This one if for Windows, I could not find one for Mac, but add a comment that you would like to see this functionality on Sourcetree for Mac too.

at least adding some icon that indicates "remote has been deleted" would be convenient for the manual cleanup.

Why wouldnt they make the same functionality also available for OSX. I dont understand why this would need to be requested for OSX users separatly, makes no sense with development in mind.

Like Richard Quadling likes this

Agree. As the dev lead, I have way too many branches on my local, where they are all closed from origin. It would be nice if I can clean those up with a single command.

Thanks ... I ended up with

```alias git-clean-branches='git branch --merged|egrep -v "(^\*|master|develop|staging)" | xargs git branch -d'```

git branch | grep -v develop | xargs git branch -d

This works 

Suggest an answer

Log in or Sign up to answer
AUG Leaders

Atlassian Community Events