2011-09-26 13 views
10

我试图忽略xcode 4修改的xcuserdata文件夹,尽管存在于我的.gitignore文件中,它们仍然会返回。.gitignore不会忽略目录

我的.gitignore文件作为一个行:只要我改变什么UI在Xcode

xcuserdata 

然而,我得到这个:

# 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次,它不会消失并被忽略。它不断回来。

我在做什么错?显然有一些我不了解的东西。当我第一次创建该文件时,该文件确实已添加到存储库中,现在我试图摆脱它。

我只想让该文件变得完全不受追踪,就像它从未被添加到存储库一样。

回答

17

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

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

事实上,你已经完成了这个“10次”,并且它被修改后显示你没有做到正确,文件夹(实际上是其中的文件)仍然被跟踪。

除此之外,.gitignore的内容似乎很好,我甚至在我的回购确认它的工作原理。

+0

我想我知道发生了什么事。由于该文件已被修改,因此尚未对其进行“添加”,因此“rm”后面跟着“commit”并未取得。没有100%的意义,但是一旦我在xcode修改之前用这个文件做了它,一切都奏效了。 –

-3

尝试使用xcuserdata /在你的.gitignore

+0

试过了,没有区别。 –

2

如果你不能把你的承诺只是因为UserInterfaceState.xcuserstate已被修改,这里有一个快速修复:

  1. 打开管理器,进入资料库,复制您提交的代码(类似于f01a2147218d by username
  2. 打开终端,转到您的项目文件夹,做git reset --hard f01a2147218d
  3. 推送提交!