Xcodeのソース管理のみを使用して、これを完全に異なるアプローチで解決しました。
背景:別のチームが(Beanstalk経由で)リモートGitリポジトリに変更をプッシュしました。私の側では、.xcodeprojファイルは別のディレクトリにあり、変更は反映されませんでした。後でコミットしようとすると、Xcodeでツリーの競合エラーが発生しました。
Xcodeを使用して修正するのはほとんど不可能なので、.xcodeproj
ファイルをGitサーバーからダウンロードしたバージョンに置き換えました。その結果、Xcodeプロジェクトは解消されたように見えましたが、破損したプルからのすべての更新が変更として表示され、コミットのためにステージングされていました。
しかし、コミットしようとすると、「致命的:マージ中に部分的なコミットを実行できない」という同じエラーが表示されます。
これが私が問題を解決した方法です...(今、私は新人プログラマーであることを理解しているので、理解が足りない可能性があります...しかし、私の無知が私にこれを行う別の方法を見つけるようにしました。)最初に、マスターを複製しましたセカンダリブランチにブランチし、そのブランチに切り替えます。次に、作業コピーを作成し、そのディレクトリを元のプロジェクトディレクトリの外のその作業コピーに配置しました。(これが必要かどうかはわかりませんが、他のトラブルシューティングテクニックを読んでいるときに行いました。)次に、ブランチをマスターに切り替え、ステージングファイル(コミットへの変更)がすべてなくなっていることに気付きました。すべてのファイルが相手によって行われた最新の変更に更新されたことを確認するために、ThirdBranchという新しいブランチを作成し、すべてのファイルを複製しました。それをGitサーバーにプッシュし、Beanstalkにマスターブランチのサーバーバージョンを、先ほどプッシュした(行ごとに)ThirdBrachブランチと比較させ、相手によるすべての変更がXcodeに存在するようにしました。これは、私のマスターリポジトリとGitマスターリポジトリが同じであることを意味し、Xcodeのみを使用して問題を解決したことを確認しました。
私が今説明したことを超えて、どうやって私に尋ねないでください...そして、私が残したギャップを確かに埋めます。私はこれに新しいので、すべてを理解していません。おそらく、経験豊富なプログラマーが無関係な情報を関連性のある情報から分離し、この手法をより明確に再現できるため、これが私がこれを投稿している理由の1つです。
これは、重複した質問に対する重複した回答です:失敗したXcode Git Mergeがスタックしています