无法执行该操作,因为“PROJECTNAME”存在一个或多个树冲突

时间:2013-05-03 10:14:34

标签: xcode git tree conflict git-pull

我正在使用Git,当我尝试使用XCode的源代码控制菜单使用当前分支拉出更新的开发分支时,我收到了以下错误消息:

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

如何解决这些树冲突? 感谢

5 个答案:

答案 0 :(得分:11)

我遇到了这个问题。当我删除或更改项目的directory时经常会发生这种情况。例如,当我将一个目录移动到另一个现有目录时,两个目录都是真实文件夹,警告将存在。

实际上tree conflict的含义是工作存储库中的目录级别与服务器上的目录级别不同。

这是我解决此问题的方法:

  1. 检查本地工作存储库中的哪个目录与服务器存储库不同。
  2. 如果本地存储库有额外目录Delete(local) - >更新 - >好的, 如果本地存储库缺少某些东西并且服务器中的额外元素是不必要的,则删除(服务器) - >更新。 NOTE此后,树冲突不再存在。
  3. 希望有所帮助。

答案 1 :(得分:10)

您需要使用命令行或SourceTree(免费)等GUI工具进行项目文件冲突,并在文本编辑器或差异工具中手动解决冲突。

另请参阅:How to use Git properly with XCode?

答案 2 :(得分:3)

我有类似的问题。所以我打开了一个终端窗口并更改为目录,使用git status验证我的分支是干净的,使用git checkout master更改为master并将我的分支与git merge push-notifications合并。 Git Branching - Basic Branching and Merging页面详细说明了这一点。

答案 3 :(得分:0)

对我来说,当Xcode对项目当前所在的分支感到困惑时,会发生此错误。所以我通过将分支切换到master然后再次返回到前分支来解决它。所以,首先尝试这个简单的修复。

答案 4 :(得分:0)

我的情况。将主分支与次要更改合并到我当前的开发中或工作版本中。 我通过以下方式解决了这个问题:

  1. 将带有树冲突的开发中文件移动到我的桌面(即存储库控制目录之外)。
  2. 提交最开发版本。
  3. 从主服务器重新执行合并到最新版本。
  4. 解决了实际的合并冲突。
  5. 确认从main合并到开发中分支的文件是正确的。