Git является важным инструментом для большинства разработчиков. Это позволяет вам отслеживать и описывать изменения в вашей кодовой базе, которые затем отслеживаются внутри репозиториев. Каждый репозиторий создается из папки, называемой корневой папкой, и по умолчанию Git предлагает отслеживать все файлы, находящиеся внутри.

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


Что такое .gitignore

.gitignore это файл, который позволяет вам описать шаблоны имен, которые Git должен игнорировать. Он поддерживает подстановочные знаки, поэтому с помощью нескольких правил вы можете поймать много файлов, которые следует игнорировать:

# Ignore all files with the exe extension
*.exe 

# Ignore dist & converage folders
dist/
converage/

# Nested location
some-folder/another-folder/*.txt

# Complex name pattern
build-config.*.yml
Войти в полноэкранный режим

Выйти из полноэкранного режима

Почему .gitingoreимя, начинающееся с точки? Это соглашение UNIX для скрытых файлов. Так, например, ls -l команда его не покажет.


Уровень проекта

Чаще всего устанавливают .gitignore в корневой папке проекта. Это первое место, которое будут проверять другие люди, и, указав вложенное расположение, оно позволяет вам контролировать любые файлы в кодовой базе. Вы можете найти его в большинстве серьезных проектов. Вот несколько примеров с открытым исходным кодом:


Подпапки проекта

.gitignore файлы могут быть добавлены на любом уровне дерева репозитория. Когда он предоставлен, он будет управлять файлами внутри него — все остальное работает как из корневой папки. Пример для открытого исходного кода:


Глобальный уровень

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

Чтобы настроить его, сначала проверьте этот параметр:

$ git config --global core.excludesfile
Войти в полноэкранный режим

Выйти из полноэкранного режима

Вы получите имя или ваш глобальный .gitignore файл или ничего. В последнем случае вы можете сами задать имя файла. Например, для Linux или macOS вы, вероятно, сделали бы что-то вроде:

$ git config --global core.excludesfile ~/.gitignore
Войти в полноэкранный режим

Выйти из полноэкранного режима

Затем в этот файл вы добавляете шаблоны, связанные с вашим редактором кода и операционной системой. В моем случае я бы проигнорировал временные файлы, созданные Vim:

*~

*.swp
*.swo
Войти в полноэкранный режим

Выйти из полноэкранного режима


Общие вещи, которые следует игнорировать в проектах JS

Какие вещи вы должны игнорировать в своем проекте JavaScript?


node_modules

node_modules это папка, где npm устанавливает все зависимости. Некоторые утверждают, что его можно отследить как часть репозитория, но чаще всего его игнорируют. Я рекомендую игнорировать его, потому что:

  • он большой, и в нем будет много шумовых изменений
  • его содержимое может различаться в разных операционных системах — некоторые модули загружают дополнительные зависимости при установке, и они могут различаться в Linux, Windows и macOS.
  • его можно воссоздать из package.json а также package-lock.json всякий раз, когда это необходимо


Выходные папки

Любая папка, содержащая результаты вашей сборки или тестирования. Некоторые распространенные примеры:

  • dist— выходная папка по умолчанию в Webpack
  • coverage— часто используется для отчетов о покрытии модульных тестов

Зачем их игнорировать? Вывод зашумлен, и их можно воссоздать из источника, когда это необходимо.


Информация о редакторе

Разные члены команды часто используют разные редакторы кода. Определенно, вы не хотите, чтобы ваша конфигурация утекла в репозиторий — это может испортить настройки ваших коллег, которые используют тот же редактор, и создаст шум для всех остальных. Поскольку выбор редактора не связан с проектом, было бы целесообразно, чтобы каждый установил правильный шаблон игнорирования на своей машине. Как вы можете видеть в приведенных выше примерах с открытым исходным кодом, команды часто решают просто добавить в проект шаблоны редактирования и связи. .gitignore— в конце концов, обычно это максимум несколько строк.



.gitignore генераторы

Как видите, настройка .gitignore может стать довольно сложным. К счастью, вам не нужно создавать эти файлы самостоятельно!


Гитхаб

Когда вы создаете новый репозиторий, вам доступен этот раскрывающийся список:

Описание изображения

С его помощью вы можете инициализировать свой репозиторий с помощью .gitignore связанные с потребностями вашего проекта.


gitignore.io

Вот аккуратный инструмент для создания файла игнорирования, который охватывает несколько потребностей, например, вещи, связанные с:

  • технологии используемые в проекте
  • редактор кода
  • операционная система

Таким образом, вы можете создать файл, который соответствует именно той комбинации, которая подходит для вашего проекта.

Описание изображения


Больше ресурсов