【问题标题】:The operation could not be performed because "PROJECTNAME" has one or more tree conflicts无法执行该操作,因为“PROJECTNAME”有一个或多个树冲突
【发布时间】:2013-04-27 17:11:41
【问题描述】:

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

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

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

【问题讨论】:

标签: xcode git tree conflict git-pull


【解决方案1】:

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

其实tree conflict的意思是你工作仓库中的目录级别和服务器上的不一样。

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

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

希望有所帮助。

【讨论】:

  • 这应该是公认的答案。问题所涉及的树冲突与文件中的合并冲突不同。
【解决方案2】:

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

另见:How to use Git properly with XCode?

【讨论】:

  • Xcode 报告的树冲突与文件合并冲突不是一回事。通常,当通过 Xcode 执行合并时,它会提醒您合并冲突并提供解决它们的 UI。但是,当存在树冲突时,它只会提醒您注意它们并且无法解决它们。请参阅下面 lynulzy 的答案,了解如何解决树冲突。
【解决方案3】:

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

【讨论】:

    【解决方案4】:

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

    【讨论】:

    • 这听起来很奇怪,但这个解决方案对我有用。我所做的只是切换到我想要合并的分支 (master)。然后将我正在处理的开发分支合并到master 分支。树错误这次没有显示。 Xcode 似乎更喜欢在合并之前先切换到要合并的分支。
    【解决方案5】:

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

    1. 将存在树冲突的开发中文件移动到我的桌面(即移出存储库控制的目录)。
    2. 提交最新的开发版本。
    3. 从 master 重新执行合并到最新版本。
    4. 解决了实际的合并冲突。
    5. 确认从 main 合并到 in-development 分支的文件存在且正确。

    【讨论】:

      猜你喜欢
      • 2017-06-03
      • 1970-01-01
      • 1970-01-01
      • 2013-09-17
      • 2012-07-13
      • 1970-01-01
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      相关资源
      最近更新 更多