.gitignore不会忽略该目录

时间:2011-09-26 00:01:12

标签: git xcode4

我正在尝试忽略xcode 4修改的xcuserdata文件夹,尽管它们位于我的.gitignore文件中,它们仍然会回来。

我的.gitignore文件为一行:

xcuserdata

然而,只要我在xcode中更改任何UI,我就会得到:

#   modified:   XXXXXXXX.xcodeproj/project.xcworkspace/xcuserdata/XXXX.xcuserdatad/UserInterfaceState.xcuserstate

我做了......

git rm -r --cached XXXXXXXX.xcodeproj/project.xcworkspace/xcuserdata/XXXX.xcuserdatad/UserInterfaceState.xcuserstate

......并试了......

git rm -r --cached XXXXXXXX.xcodeproj/project.xcworkspace/xcuserdata

...然后提交。我已经做了近10次,它不会消失而被忽略。它不断回来。

我做错了什么?显然我不理解。当我第一次创建文件时,文件确实被添加到了存储库中,现在我正试图摆脱它。

我只是希望该文件完全不受限制,就像从未添加到存储库中一样。

3 个答案:

答案 0 :(得分:19)

完成后

git rm -r --cached XXXXXXXX.xcodeproj/project.xcworkspace/xcuserdata

检查git status是否告诉您该文件夹下的文件已被删除。然后在提交之后,确保git说没有什么可以提交。

你已经完成了“10次”并且经过修改后显示你没有正确行事,并且仍在跟踪文件夹(实际上是其中的文件)。

除此之外,.gitignore的内容似乎还不错,我甚至在我的回购中证实它有效。

答案 1 :(得分:2)

如果你因为UserInterfaceState.xcuserstate被修改而无法推送你的提交,这里有一个快速修复:

  1. 打开管理器,转到存储库,复制提交的代码(类似f01a2147218d by username
  2. 打开终端,转到项目的文件夹,执行git reset --hard f01a2147218d
  3. 推送提交!

答案 2 :(得分:-3)

尝试在.gitignore中使用xcuserdata /