【发布时间】:2016-09-24 12:50:19
【问题描述】:
所以我为我的 Swift 项目隐藏了我的更改,以便我可以提出拉取请求,然后将我所做的更改与新的拉取合并。但是,每当我尝试合并我的更改时,我都会遇到关于 UserInterfaceState.xcuserstate XCode 文件的合并冲突。我没有尝试让我合并我隐藏的代码,而且我担心我会丢失一个下午的代码。
我尝试将 *.xcuserstate 添加到 .gitignore,但这似乎没有任何作用。然后我尝试删除该文件,该文件与存储中的版本产生了修改/删除冲突。这是我尝试获取隐藏代码时遇到的错误:
$ git stash apply
CONFLICT (modify/delete): myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate deleted in Updated upstream and modified in Stashed changes. Version Stashed changes of myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate left in tree.
尝试 Flows 推荐的这是我收到的输出:
$ git reset --hard
HEAD is now at e509ffa Fixed bugs
$ git stash pop
myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate: needs merge
unable to refresh index
$ git rm myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate
myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate: needs merge
rm 'myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate'
$ git stash pop
CONFLICT (modify/delete): myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate deleted in Updated upstream and modified in Stashed changes. Version Stashed changes of myProj.xcodeproj/myProj.xcworkspace/xcuserdata/lnd.xcuserdatad/UserInterfaceState.xcuserstate left in tree.
有什么办法可以解决这个问题吗?似乎没有任何工作,所以任何帮助将不胜感激,谢谢。
【问题讨论】:
-
是否需要更改相关文件?还是应该像在上游一样将其删除?如果不需要,在应用您的存储并查看冲突后,从文件系统中删除该文件,运行:
git rm <filename>并提交更改。 -
你有未合并的文件吗?请参阅此链接:unable to refresh index。使用
git status确保您的工作树是干净的。如果没有,请在再次执行 stash pop 之前解决并提交冲突 -
@Andonaeus 我试图删除该文件,但最终导致修改/删除冲突。我在原始帖子中发布了回复。
-
@shadowarcher 您应该在应用存储后删除该文件。
-
@shadowarcher :您是否尝试在上次编辑后解决冲突并提交?