В системе Git можно настроить возможность автоматического игнорирования файлов.
То есть, можно указать Git, что файлы определенного типа не нужно отслеживать. Выполняется такая настройка с помощью специального файла
. Подобная возможность отключения отслеживания файлов в системе Git может понадобиться в случае, когда автоматически генерируются служебные файлы.1
.gitignore
К примеру, если развертывать в проекте Compass, то будет создан каталог
, в который данный фреймворк помещает свой кэш, генерируемый автоматически при каждом изменении любого из файлов проекта.1
.sass
Давайте на практике разберемся, каким образом можно настроить игнорирование файлов в Git с помощью
.1
.gitignore
Создание нового проекта
Создаю новый проект с именем
, в котором помещаю несколько файлов разного типа:1
git_ignore
Инициализирую репозиторий Git в директории
, индексирую созданные файлы и фиксирую их:1
.git_ignore
Вывод команды
показывает, что все чисто:1
git status
Настройка игнорирования в .gitignore
Для настройки игнорирования определенных типов файлов в системе Git необходимо первоначально создать файл
:1
.gitignore
Откроем созданный файл
в любом редакторе:1
.gitignore
… и пропишем в нем следующие строки:
Тем самым мы говорим Git, что нужно игнорировать все файлы с расширением
и 1
.txt
внутри директории 1
.md
. То есть, система контроля не будет отслеживать изменения во всех файлах этих типов.1
git_ignore
Проиндексируем и зафиксируем изменения (создание файла настроек
), а затем проверим данный факт. Для этого в рабочей директории 1
.gitignore
создаю еще несколько типов файлов:1
git_ignore
Затем выполняю индексацию всех файлов, которые были добавлены или изменены в рабочем каталоге:
И смотрю, что мне показывает команда
:1
git status
Система Git увидела только новый файл
. Два других файла - 1
main.css
и 1
readme.txt
- проигнорированы системой. Отлично! Зафиксирую изменения.1
humans.md
Можно создать еще пару файлов в разных директориях и посмотреть на вывод команды
в консоли:1
git status
Усложнить задачу игнорирования в .gitignore
Можно усложнить задачу игнорирования в Git, добавив в файл
директорию, содержимое которой также должно игнорироваться. Пускай это будет обычная директория 1
.gitignore
и скрытая директория 1
ignore
(с точкой перед именем):1
.ignore
Добавлю в файл
пару строк таким образом:1
.gitignore
Проиндексирую изменения, а затем выполню операции по созданию директорий и файлов внутри них:
Вновь ввожу команду просмотра состояния репозитория Git:
Все сработало - Git не захотел видеть директории
, 1
ignore
, а также их содержимое. Отлично!1
.ignore
Шаблоны в файле .gitignore
Для файла
доступны шаблоны, с помощью которых можно задать маски для выборки необходимых типой файлов. Однако, обширная тема шаблонов выходит за рамки данной статьи. При желании можно почитать по теме шаблонов в книге “Pro Git - профессиональный контроль версий”.1
.gitignore