【问题标题】:I can't merge a branch because I get a msg saying that I have uncommitted changes in xcuserdata that I cannot commit [duplicate]我无法合并分支,因为我收到一条消息,说我在 xcuserdata 中有未提交的更改,我无法提交 [重复]
【发布时间】:2015-06-18 18:06:17
【问题描述】:

当我尝试提交时,它只显示 2 个文件(正如 @Jeff 指出的那样)似乎是 xcuserdata 的副本。

我有一个 .gitignore 见下文:

Xcode

.DS_Store
*/build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/*
profile
*.moved-aside
DerivedData
.idea/
*.hmap

我的 gitignore 被称为 default.gitignore,然后我将其更改为 .gitignore,结果均未更改。

所以: - 我的 .gitignore 是否因某种原因被忽略 - 为什么我有 2 个 xcuserdata 文件以及如何摆脱一个 - 看起来第二个文件是断点比较失败 - 我该如何停止 - 我什至无法合并这些文件(保存按钮灰显)来解决问题,因此无法提交,因此无法合并。

【问题讨论】:

    标签: git merge gitignore


    【解决方案1】:

    很难在屏幕截图中看到完整的错误,但发生的情况是您在进行本地更改时尝试进行合并,而您确实不想想要这样做。相反,请先提交您的更改,然后然后进行合并。

    【讨论】:

    • 嗨大卫,是的,我已经尝试过了,但我无法超越提交。我已更改原始问题中的屏幕截图以显示提交的作用。它提交了真正的源代码更改,但留下了一些未提交的文件,它不允许我提交。保存按钮在上图中显示为灰色。所以我有 2 个文件不匹配,我无法合并,因此无法提交,因此无法合并分支。
    【解决方案2】:

    假设您不想合并错误消息中提到的两个文件,而是想排除这些文件:

    如果你想忽略 xcuserdata 目录中的所有内容,你应该使用 xcuserdata/* 相对于 .gitignore 文件。我不确定你的项目是如何设置的,但看起来你有两个这样的文件夹:

    • Twoater.xcodeproj/project.xcworkspace/xcuserdata
    • Twoater.xcodeproj/xcuserdata

    【讨论】:

    • 我认为你是在正确的轨道上。我不知道我是如何得到其中两个的,但问题是我该怎么做才能解决这个问题。我现在有未提交的源代码,这阻止我合并我的分支。查看屏幕图像。
    • 我删除了 Twoater.xcodeproj/project.xcworkspace/xcuserdata/UserInterfaceState.xcuserstate 然后我回到 xCode 中的提交屏幕,它像以前一样重新出现。我回到终端,发现文件已经重新创建了
    • xCode 可能正在创建该文件,我真的不知道。如果它是一个系统文件并且它不是您的代码库的一部分,也不是您需要与任何人共享的任何内容,我会说您可以忽略它。你是说当你输入git status 时,即使添加了.gitignore 的路径,文件仍然显示为modifieduntracked
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-01-25
    • 2021-09-01
    • 2021-11-24
    • 2018-01-23
    • 2012-12-15
    • 2017-11-01
    • 1970-01-01
    相关资源
    最近更新 更多