2011-09-26 261 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. 推送提交!