Xcode说“未提交的更改”每当我尝试git pull或push时

时间:2012-06-23 21:50:13

标签: xcode git gitignore pull

我在我的项目中使用git,每当我尝试从Xcode中取出时,我得到“未提交的更改”并且它阻止我拉/推。 我尝试提交并找到一个扩展名为* .xcuserstate的文件,每当我打开/滚动到Xcode中的任何项目文件时,都会修改此文件。这让我别无选择,只能做一个包含该文件的提交,它会使用无意义的提交填充git提交日志。

这是否有办法阻止此行为?

我试图将* .xcuserstate和xcuserdata放入git ignore中,但每次我尝试拉动时都会导致Xcode崩溃。

Xcode 4.2和4.3

会发生这种情况

2 个答案:

答案 0 :(得分:18)

通常,您不希望将*.xcuserstate*.xcuserdata文件放入Git存储库。这些文件实际上并不属于您的项目,但只是Xcode存储其本地信息的地方,这在重新加载项目时非常有用。

您可以使用以下方法解决此问题:

git rm --cached *.xcuserstate *.xcuserdata

然后提交结果。这将从存储库中删除这些文件,而不从工作目录中删除它们。

答案 1 :(得分:2)

如果这是每个开发人员不同的设置文件,您可能不需要对其进行版本控制,只需将其从Git中删除即可。

如果这不是一个选项,您可以在提取之前Git Stash Save进行更改,然后Git Stash pop再次应用这些更改。