web-dev-qa-db-ja.com

「PROJECTNAME」に1つ以上のツリーの競合があるため、操作を実行できませんでした

Gitを使用していますが、XCodeのソース管理メニューを使用して現在のブランチで新しい開発ブランチをプルしようとすると、次のエラーメッセージが表示されました。

The operation could not be performed because "ProjectName" has one or more tree conflicts.

これらのツリーの競合を解決するにはどうすればよいですか?ありがとう

21
Tony Pham

コマンドラインまたはSourceTree(無料)などのGUIツールを使用してプルし、テキストエディターまたはdiffツールで競合を手動で解決する必要があるプロジェクトファイルに競合があります。

参照: XcodeでGitを適切に使用する方法?

10
GayleDDS

私はこの問題に困っていました。プロジェクトのdirectoryを削除または変更するとよく発生します。たとえば、あるディレクトリを別の既存のディレクトリに移動すると、両方のディレクトリが実際のフォルダになり、警告が表示されます。

実際、tree conflictの意味は、作業リポジトリのディレクトリレベルがサーバー上と同じではないということです。

この問題を解決する私の方法です:

  1. ローカル作業リポジトリのどのディレクトリがサーバーリポジトリと異なるかを確認します。
  2. ローカルリポジトリに追加ディレクトリDelete(local)-> update-> OKがある場合、ローカルリポジトリに何かがなく、サーバーの追加要素が不要な場合、削除(サーバー)-> update。 NOTEこの後、ツリーの競合はもう存在しません。

希望が役立ちます。

11
lynulzy

同様の問題がありました。そこで、ターミナルウィンドウを開いてディレクトリに移動し、git statusでブランチがクリーンであることを確認し、git checkout masterを使用してマスターに変更し、ブランチをgit merge Push-notificationsにマージしました。 Git Branching-Basic Branching and Merging ページで詳細を説明しています。

3
kometen

私の状況。現在の開発中または作業中のバージョンに小さな変更を加えてmasterブランチをマージします。この問題を次の方法で解決しました。

  1. ツリーを含む開発中ファイルをデスクトップに移動します(つまり、リポジトリ制御ディレクトリから)。
  2. 最も開発中のバージョンをコミットします。
  3. マスターから最新バージョンへのマージを再実行します。
  4. 実際のマージ競合を解決しました。
  5. Mainから開発中ブランチにマージされたファイルがそこにあり、正しいことを確認しました。
0
Jacksonsox

私にとって、このエラーは、プロジェクトが現在どのブランチにあるかについてXcodeが混乱したときに発生しました。そこで、ブランチをマスターに切り替え、元のブランチに再び戻すことで解決しました。したがって、最初にこの簡単な修正を試してください。

0
turingtested