Gitignore все каталоги obj, кроме файлов .m и .h внутри них

Xamarin Studio является куском мусора, и я не могу просто добавить obj в .gitignore, потому что любые файлы .h и .m, сгенерированные для Xcode или с помощью Xcode, хранятся где-то в каталоге obj соответствующих проектов. Эти файлы .h и .m нужно отслеживать в репозитории, иначе сборка может сломаться для некоторых членов команды.

Как игнорировать каталоги obj проектов решения, кроме содержащихся в них файлов .h и .m?

я пытался

obj
!*.h
!*.m

но правила исключения не работают. Я видел, что в этом случае рекомендуется obj/*, но когда я меняю его на это:

obj/*
!*.h
!*.m

все каталоги obj и их содержимое отслеживаются.

Как просто игнорировать все во всех каталогах obj, кроме файлов .h и .m?


person Distortum    schedule 29.08.2014    source источник


Ответы (2)


Ваш файл .gitignore явно включает файлы .h и .m, в то время как вы хотите включить файлы .h и .m внутри каталога obj:

obj/*
!obj/*.h
!obj/*.m

Обратите внимание, что вам по-прежнему нужно git add obj, чтобы отслеживать соответствующие файлы внутри него.

(Проверено с помощью git 1.7.11.3 на RHEL 6.5)

person Mureinik    schedule 29.08.2014
comment
obj/* как правило ничего не игнорирует, например, в MySolution/MyProject/obj/, а obj как правило игнорирует, но тогда правила исключения не работают. - person Distortum; 29.08.2014

Пробовали ли вы предложенный здесь файл .gitignore: gitignore.io? Для XamarinStudio есть один, он может помочь вам решить вашу проблему.

Надеюсь, что эта ссылка поможет вам.

person Joël Salamin    schedule 29.08.2014
comment
Сгенерированный .gitignore для XamarinStudio игнорирует все во всех obj каталогах, как вы можете видеть здесь. -1 - person Distortum; 29.08.2014
comment
Вы пытались поместить gitignore для XamarinStudio на корневой уровень и другой файл gitignore в корень вашего проекта с помощью `!obj/? указано? - person Joël Salamin; 29.08.2014
comment
Они бы просто нейтрализовали друг друга. - person Distortum; 29.08.2014
comment
Я никогда не использовал Xamarin Studio. Можете ли вы предоставить нам структуру папок вашего репозитория git, чтобы лучше понять, куда поместить файлы gitignore? - person Joël Salamin; 29.08.2014