Как заставить git игнорировать все содержимое каталога?


У меня есть каталог git, который содержит целую кучу файлов, а затем имеет каталог под названием "сеансы". "сеансы" содержит информацию о cookie для моего web.py программа.

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

Итак, вопрос:

Как я могу заставить git игнорировать содержимое папки, но не сама папка?

3 51

3 ответа:

Если я правильно помню, вы можете сделать это путем создания на с [^.]* как его содержимое.

добавить сессий/.gitignore файл с

*
!.gitignore

вторая строка говорит git не игнорировать .файл gitignore, поэтому папка не пуста, но все остальное игнорируется.

с июль 2007,gitignore описывает шаблоны исключения.

если шаблон заканчивается косой чертой, он удаляется для целей следующего описания, но он найдет только совпадение с каталогом.

другими словами, foo / будет соответствовать каталогу foo и путям под ним, но не будет соответствовать обычному файлу или символической ссылке foo (это согласуется с тем, как pathspec работает в целом в git).

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