由于未跟踪的工作树文件导致git branch checkout出现问题

时间:2012-12-08 23:47:28

标签: xcode git version-control

我以为我把Xcode + git问题的日子抛在身后。可能不会。我试图检查另一个分支时遇到这个git错误。

error: The following untracked working tree files would be overwritten by checkout:
    RCAlpha.xcodeproj/project.xcworkspace/xcuserdata/andrewjl.xcuserdatad/UserInterfaceState.xcuserstate
    RCAlpha.xcodeproj/xcuserdata/andrewjl.xcuserdatad/xcschemes/RCAlpha.xcscheme
    RCAlpha.xcodeproj/xcuserdata/andrewjl.xcuserdatad/xcschemes/xcschememanagement.plist
Please move or remove them before you can switch branches.
Aborting

很好,我说,让我删除这些文件:

andrewjl$ git rm --cached RCAlpha.xcodeproj/project.xcworkspace/xcuserdata/andrewjl.xcuserdatad/UserInterfaceState.xcuserstate
fatal: pathspec 'RCAlpha.xcodeproj/project.xcworkspace/xcuserdata/andrewjl.xcuserdatad/UserInterfaceState.xcuserstate' did not match any files

此时我不知道该怎么做。这些文件都列在我的.gitignore中,我也尝试了git clean -f -d。没有骰子。有谁知道这里发生了什么?

4 个答案:

答案 0 :(得分:8)

文件未跟踪:git rm --cached找不到它们,因为索引中没有。只需使用文件管理器或rm删除它们即可。然后结帐应该按预期工作。请注意,git status将显示git将文件视为(跟踪,更改,未跟踪;使用其他选项,它还会显示被忽略的文件)。

答案 1 :(得分:4)

他们不是git但是在本地..这意味着当你切换那些会丢失而git不允许

在本地删除它们:

rm RCAlpha.xcodeproj/project.xcworkspace/xcuserdata/andrewjl.xcuserdatad/UserInterfaceState.xcuserstate RCAlpha.xcodeproj/xcuserdata/andrewjl.xcuserdatad/xcschemes/RCAlpha.xcscheme RCAlpha.xcodeproj/xcuserdata/andrewjl.xcuserdatad/xcschemes/xcschememanagement.plist

无论如何都是由xcode重新创建的。那里没什么重要的!

答案 2 :(得分:1)

尝试

git rm --cache * / xcschemes / xcschememanagement.plist

git commit -m“再见xcschememanagement.plist”

答案 3 :(得分:0)

Git stash和git checkout" yourBranch"