Has anybody encountered a 'push' problem within Xcode and resolved the problem?
And resolved the problem? You are setting the bar pretty high there aren't you? Out of pure laziness, I do sometimes still use Xcode to push, but that is getting more and more rare. Xcode is still useful for comparing changes. Just today I found the context menu option that does blame, I think. But I don't trust Xcode for git operations. It takes extra work to avoid Xcode bugs.
I found the issue that was causing Git 'push' commands from the Xcode's Source Control menu options to fail. It was due to the url naming convention used in the local repository's config file. This is located in your project's '.git' folder and titled 'config'. This file is populated with remote, branch, core and other sections for your project.
In this instance, under the [remote "origin"] section, my url was defined as ssh://user@host:/path/to/project. The command line Git had no problem with this url. Xcode however, did not like the scheme component of the url. So, after dropping the 'ssh://' component, and using user@host:/path/to/project, Xcode pushed changes to the remote repository as expected.
I never determined why Xcode did not like the url.
For those interested in viewing how Xcode uses Git, you can modify your user's '.gitconfig' file with the following:
normalTarget = /Users/Lazarus/log_git.normal
This directs output to the log_git.normal file as Xcode uses Git (for non-remote repository commands). Then 'tail -f log_git.normal' in a separate shell to watch the activity.
The trace2 commands are found in 'man git-config' then searching for 'trace2'.