Jonathan_Rosewood
@Jonathan_Rosewood

Как игнорировать все кроме отдельных файлов и каталогов в .gitignore?

Задача запретить отслеживание Git'om всех файлов репозитория за исключением конкретных файлов и содержимого подкаталогов.

Первая нерабочая версия:
# Exclude all
*

# Include files
!/foo/bar.xml

# Include directories
!/foo/bar/*

Казалось бы в теории все верно, но не тут то было.

Первая рабочая версия:
# Exclude all
*

# Track directories, but not the contents
!/foo/
/foo/*
!/foo/bar/
/foo/bar/*

# Include files
!/foo/bar.xml

# Include directories
!/foo/bar/*


Но что то мне подсказывает что есть более лаконичное решение, собственно за ним и обратился сюда.
Заранее благодарен.
  • Вопрос задан
  • 8349 просмотров
Решения вопроса 2
@iamnothing
Как уже было сказано - в гит не получится добавить просто каталог. Как ни старайтесь. Если вам жизненно необходимо иметь какой-то каталог под контролем версий, то создайте в каждом нужном каталоге (даже если он и не пустой, но ни одного файла из него в git репозиторий не добавляли) файл (можно и пустой) с любым названием - обычно добавляют файлы .gitkeep . И добавьте этот файл в git.
Ответ написан
Комментировать
mrsombre
@mrsombre
Веб-программист
Git не хранит структуру каталогов. Чтобы создавался пустой каталог с помощью гит - нужно создать там файл с ненулевым содержанием. Вроде .gitdir и там символ 1.
Или можно добавить с игнор весь каталог и создавать его руками или скриптом.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@DancingOnWater
Как вариант добавлять файлы через git add
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы