Git: игнорирование всего, кроме каталогов - PullRequest
2 голосов
/ 01 июня 2010

Я прочитал это руководство: http://git -scm.com / Docs / gitignore

Поскольку я работаю с gitosis, я скорее использую .gitignore, чем явные команды git. Так говорится в руководстве:

Конечно, не отслеживание файлов с помощью git это просто вопрос не называть мерзавца добавить на них. Но это быстро становится раздражает иметь эти неотслеживаемые файлы валяется; например они делают мерзавец добавить. практически бесполезны, и они держат появляется в выводе git состояние.

Вы можете сказать git игнорировать определенные файлы, создав файл с именем .gitignore в верхнем уровне вашего рабочий каталог

Я хочу рекурсивно игнорировать все, кроме двух каталогов. Допустим, / mywebapp (который содержит две подкаталоги, такие как таблицы стилей и javascripts) и / mydata - это две эти директории Теперь мне уже сказали, что git не отслеживает каталоги, а только файлы. Знак! Исключает, поэтому я предполагаю, что это может работать и с каталогами. Я понял, что использование * будет игнорировать все остальное. Как мне записать мой файл .gitignore?

Мой вопрос не в том, как добавить эти каталоги вручную путем явного добавления. Мой вопрос заключается в том, как это сделать в файле gitignore.

Спасибо за вашу помощь, комментарии и отзывы.

1 Ответ

2 голосов
/ 01 июня 2010

Сначала '*' делегируется функции fnmatch , которая не всегда работает одинаково на всех платформах.

С моим msysgit мне удается игнорировать все подкаталоги контент , кроме одного с

*/
!mySubDir

Итак, в вашем случае:

*/
!mywebapp 
!mydata

Использовать '*' (вместо '*/') в данном случае слишком много: он игнорирует все файлы и каталоги ...

...