In Xcode 5.0.2, I try to pull from a remote and am given the following message:
\"The working copy \'project-name\' has uncommitted changes. Commit or discard the change
You must fix it with command line git. Go to your working folder in Terminal, type:
git status
That will show you what files have uncommitted changes. Crashlytics, for instance, will update itself as soon as you run it, and even using Xcode/Source Control/Discard Changes won't get rid of it.
Once you see the files that have uncommitted changes (ignore added files), use:
git checkout -- Folder/filename.ext
That's the same as a "discard" in Xcode.
After you've done that, go back to Xcode and you should be able to switch branches.