Xcode Source Control - Push local changes stuck on Loading

It took a day to find out the easiest solution. You can re-install the Xcode but that's really time consuming and you can face the same problem again.

Just follow these steps to sort out the issue very fast:
1. Download and install Github Desktop.
2. Quit Xcode application and clear Xcode cache files.
3. Locate a local repository using Github desktop and click on "Fetch origin".
4. Make some changes, commit and push to your current working branch, it might be master branch.
5. Check latest commit message from your web browser, if you can see the latest commit then the problem has solved.
6. Just open the Xcode app, make some changes and try to commit and push. Great... Everything will work smoothly as it was before.


This should be linked to cached credentials which are no longer available or current.

Check with git remote -v inside your repository if your URL is an HTTPS one or an SSH one ([email protected]:...)

If it is an HTTPS one, try, for testing, to switch to an SSH one, following the BitBucket documentation.

That issue was seen here and in this thread, which advocated a full re-installation of XCode, but I would check first the remote URL.

The OP STerrier confirms in the comments:

Re-installing Xcode was the only solution which worked


I managed to finally fix the issue. The issue seems to happen when checking out a previous build in Xcode. This would disconnect the remote which would cause it to be stuck on loading.

To fix it first, push any uncommitted work using the terminal e.g. git push origin head:master

Go to the Source Navigator in Xcode and check that the push you just committed is in the remote folder. For me, it's my remotes>origin>master

Then delete the master branch from Branches>master and then checkout Remotes>origin>master branch

The source control will now be able to push from Xcode. I hope that helps.