Xcode git не может игнорировать все папки *.xcodeproj/xcuserdata/

Я следовал cant-ignore-userinterfacestate-xcuserstate и игнорировать-файлы-которые-уже-были-переведены-в-a-git- репозиторий. Но это никогда не работает.

Моя пошаговая репродукция:

  1. Выйти из Xcode
  2. каталог проекта: git rm -r --cached .
  3. каталог проекта: git add . && git commit -m "remove junk files"
  4. Откройте проект Xcode
  5. Затем эти файлы появляются снова.

Больше всего меня беспокоило то, что каждый раз, когда я переустанавливаю код, автоматически появляются эти файлы, поэтому я буду перебазировать неустановленные файлы. Каждый раз, когда мне нужно спрятать этот файл.

Это мой раздел кода файла .gitignore:

### Xcode Patch ###
*.xcodeproj/*
!*.xcodeproj/project.pbxproj
!*.xcodeproj/xcshareddata/
!*.xcworkspace/contents.xcworkspacedata
/*.gcno

*.xcodeproj/xcuserdata/

исходное дерево хочет игнорировать файлы

структура моего проекта xcode

это реактивный проект


person FaiChou    schedule 10.05.2018    source источник
comment
См. комментарии к этому ответу: stackoverflow.com/a/6565909/5306470. Также см.: stackoverflow.com/questions/31437170/   -  person Daniel Springer    schedule 10.05.2018


Ответы (1)


Я только что понял, что эти want to ignored файлы были похоронены в глубокой папке.

И git не поддерживает такой шаблон *.xcodeproj/xcuserdata/.

Хотите игнорировать папку другого сына (рекурсивную), нужно добавить это в .gitignore:

ios/**/*.xcodeproj/xcuserdata/

или чистый способ:

**/xcuserdata/

Это **/*.xcodeproj было функцией git версии 1.8.2.

$ git --version
git version 2.16.1

Так что большинство из нас может использовать его.

Я узнал из how-to-gitignore-files-recursively.

person FaiChou    schedule 10.05.2018