我无法在git中查看其他分支

时间:2013-02-01 07:15:28

标签: xcode git

错误

我收到了错误

error: The following untracked working tree files would be overwritten by checkout:
MyProject/xcuserdata/shingo.nakanishi.xcuserdatad/UserInterfaceState.xcuserstate
Please move or remove them before you can switch branches.
Aborting

我试试这个

The following untracked working tree files would be overwritten by checkout

git rm --cached MyProject/xcuserdata/shingo.nakanishi.xcuserdatad/UserInterfaceState.xcuserstate

git clean -d -fx ""

git commit -a

git push

当“UserInterfaceState.xcuserstate”文件不存在时,这是工作

但Xcode很快就会发布UserInterfaceState.xcuserstate。

当我使用Xcode时,Xcode会生成UserInterfaceState.xcuserstate文件。

所以,每个结账分支,我每次都必须git clean -d -fx ""

我的〜/ .gitignore

这是我的〜/ .gitignore

.DS_Store
*UserInterfaceState.xcuserstate
*Breakpoints.xcbkptlist

如何忽略该文件?

3 个答案:

答案 0 :(得分:0)

第一个错误意味着它已经存储在您的存储库中(已提交)。你需要先从存储库中删除它,然后忽略它。

答案 1 :(得分:0)

请阅读Git ignore file for Xcode projects

https://gist.github.com/3786883

请在发布问题之前搜索SO。

对于你所做的改变。使用git checkout -- <fileName>放弃更改。

答案 2 :(得分:0)

Git不会忽略您已经跟踪过的文件。所以只需从git中删除该文件

git rm -rf file 
git commit -m "remove"
git push origin #{branchname}

之后,你是.gitignore会忽略它:)