'Xcode Source Control - Push local changes stuck on Loading

I keep getting this problem with Xcode source control. If I checkout a previous branch and then switch back to my latest branch, sometimes I can no longer push to my remote as it's stuck on loading.

enter image description here

I did find some workarounds which fix the issue like clone the project or use the terminal to push local changes but is there a better solution to fix it within Xcode.

I tried to reconnect my bit bucket account, clean build folder, update Xcode and restart everything but that solved nothing.



Solution 1:[1]

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.

Solution 2:[2]

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.

Solution 3:[3]

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

Solution 4:[4]

Download Github App for your laptop os.

then clone the project...

Solution 5:[5]

this is an easy fix. take a copy of the working folder(just for caution). now check in the branch section in Xcode to see which is the current branch. hopefully, u won't see it has no current branch. next, see the name under the project, probably a mix of alphabets and numbers click on it and check if it has your latest commit. create a new branch from it and checkout. wolla!! now push it or merge it to the branch u wanted

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 STerrier
Solution 2 Faisal Mahmud
Solution 3
Solution 4 Malik
Solution 5 Robin George