.gitignore не будет игнорировать каталог - PullRequest
10 голосов
/ 26 сентября 2011

Я пытаюсь игнорировать папки xcuserdata, которые изменяет xcode 4, и они продолжают возвращаться, несмотря на то, что они находятся в моем файле .gitignore.

Мой файл .gitignore одной строкой:

xcuserdata

Тем не менее, как только я изменяю пользовательский интерфейс в xcode, я получаю следующее:

#   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 ]

19 голосов
/ 26 сентября 2011

После выполнения

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

убедитесь, что git status сообщает, что файлы в этой папке были удалены.Затем, после вашей фиксации, убедитесь, что git говорит, что нечего коммитить.

Тот факт, что вы сделали это «10 раз», и он приходит как измененный, показывает, что вы делаете не правильно и папкуфайлы в нем) все еще отслеживаются.

Кроме того, содержимое .gitignore выглядит нормально, и я даже подтвердил в своем репо, что он работает.

2 голосов
/ 13 мая 2012

Если вы не можете отправить свой коммит только потому, что UserInterfaceState.xcuserstate был изменен, вот быстрое исправление:

  1. Откройте органайзер, перейдите в хранилище, скопируйте код коммита (что-то вроде f01a2147218d by username)
  2. Откройте терминал, перейдите в папку вашего проекта, выполните git reset --hard f01a2147218d
  3. Нажмите коммит!
0 голосов
/ 26 сентября 2011

попробуйте использовать xcuserdata / в вашем .gitignore

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...