Problem

Deleting a Git branch outside of Xcode — for example via the command line or another Git utility — does not remove it from the Source Control Navigator branch list until Xcode is restarted.

Steps to reproduce

  1. Start with a project that has a Git repository.

    Project with a Git repository open in Xcode
  2. Create a new branch.

    Creating a new branch in Xcode
  3. See the new branch appear in Source Control Navigator → Repositories → Branches.

    New branch visible in Source Control Navigator
  4. Use the command line or any Git utility to switch away from that branch and delete it.

    Deleting the branch via command line
  5. Return to Xcode. It correctly marks the current branch — but the just-deleted branch is still listed, and may even be labeled as "current".

    Deleted branch still showing in Xcode Source Control Navigator
  6. In the Integrate menu, click Refresh File Status. This normally syncs Xcode with repository changes — but the deleted branch remains.

    Branch still present after Refresh File Status

The only way to remove the deleted branch from the list is to restart Xcode.

Expected behavior

Deleted branches should disappear from the Source Control Navigator after Refresh File Status, without requiring an Xcode restart.